QFIphWdirty bitcorrupt bitexternal data filecompression typeextended L2 entrieslazy refcountsbitmapsraw external data  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~?UEFI PART\7_?"?mʎN$HBqu(s*K>;~-=MʐޚEFI=rGy=iG}aHcI}I<$1HIIEI$[H"4A\A]A^]HU1IHIwHAWAVAUIATIHSH HAA$PtIHHpHuI6>uhHuHH1Hr~A?uH 1ɉH>MtIUHYH1Hޜ:Mt5H(1LAUHHFHIH-LHnHAZ[A\A]A^A_]UHATS[HqIHpHHH;AHHu H1HrH31HޜH[0L"=HLHHu![A\1H{]HrHpLHo=[1A\]ÅH1HrHqUH:H1]HUE1HH*HHSHg&ARHtH(HE1HHI+HE1HHH(HAYHE1H []HH(H"HUHAWAVIAUIATISQHt*InLHHkHIu HA׸HUH}J4#HIEIu HHUȋxH0HHLA1H LH HEȺHHAEHHHHHMH!H)HTHuH HHHHUAHUHuHItqAELHIEHLP(tbH_sME1HaHLH\IwAHsLAH  H}HUI4HLAu:IE0Ht/H}ME8DI HMUH8[LA\A]A^A_]1H8[A\A]A^A_]UHAUInATSH` QLH{Ht{ u A1HSH(L9uX[A\A]]H@ HH8HW8H@ HHtHH8H9uH HP8HHU1+H\IwHAUATSHQLHmHaAHCHtH@ HtHHInHH{(Ht Lo(ALk(H;AZHL[A\A]]UI1H|H\HAWAVIwAUATIHaSHAֿHH/LuHQHMH HCAIVtk<\u A~,u IV<,tIHMM)IIHLHLHCD=LHHLME1HHH@ HL8HMtLHLAWH uYKAvn1HHrL 1HHr9 H 1M8jL{Mt9IvHHgHC(HuH Hr@HHIHHL9sH3HL:MtM9tHnLH 8tXH_sLMMHa1HH\AHsHHK41HH[A\A]A^A_]UHAWAVIAUIATISAHH I HH HLEHG(Ht=HPHpH9sH)H9sH 1HrdH@(HAFH3HIFHH9HGH9sK,H)H H9I 1H%Hrхt\H_s1IؾI HSH\HaIwAHsHڃ?HL SH AHLLLEH1I)M9MGHLЅL}M)MI LE1AFI9LIv HHHEIFHUxH/IHIM9uAFLHL)HHIFHHMP(ZI01H}HHHEHHIv HI~HڋAHEI0HL9rIF0HtDMF8HM1HLILeHM)HMu_IMIHELLHHHIFIv HUxH0MIF0HtMF8HMȺ1HHEH@IlMu 21LELHH1LЅtM1E1vH[A\A]A^A_]HG(HtH@HGHt O HHUHAUIATISQHHtH3LAՅtH[PZH[A\A]]UHAWAVE1AUIATSHHG>W:HuLg(IHN| CUHAUIY=ATSHQLgMtI|$AM$$CCZ[A\A]]1Ht>UHAUI=ATSHQLgMtI|$AM$$CȉCZ[A\A]]11HtGà UHAWAVAUATSHHHG8HtHHHt H9u$HCPHI InI HPPH@PMeMMt8I$I;\$ u%II|$HEALAHEHMIII9uInLcMt M4$I|$H=LAMH{@AH;AHAH[A\A]A^A_]1UII1HHHAWAVAUIwATImSHHH8AHI?v;ELFu {u{tH1HrHHЉEă}u$f{t%HHr1E1C:S<H)HC(I9rH/XIHt@IHHC1HAHHUI;AHuH^HrcHxHHI$Ht>HsHAIHu?I$1HHr t1IL$8sHHxIHAׅuHHAHuhHI~HAׅtHI~HAׅtINI$1HIrHAЅWLhHH IHILHMHEI9s&A}tLAIHu(  HC(s<1ɿE1HOHHY=пHHtIT$LpLHID$HMlk9s(HP0INl*IM!Lh H9HBS:HHLID$@IHtvL{(1Ml$HUI6IW E1HujIG MhI@EA@ID$IMD$EC:IC<9EAGtH IHu `IG0MlHI!AGMtt pLE1LHIwLELHHLE6Hs(K<1H39szt#{:HuILk(IC:B(E1HJ8LzHIIL$(HDM|$ HEHB 1EHEEA9tEoDA u#AH}AHHHHEȀ1IGAwfHM1t i?Hй1H HHHtHzHuHUHUt+HHUȿ1HHrNHBzIG-AAEoH1<I|$IGIGHE1H}LH<ЅBAwI|$H1<IGIGHEt*H}LH<Ѕt HH}IAՅu IGID$0^H+H}AՅuIIGID$8>I|$AwH1<IG"ҿ1H9HrHEAI\AE ttEC:IC<9Er\IL$HtAE,9AtH I|$ u'1HRHr҅=LHLAօt&ML$@1MD$HHwHr?HH1M$HHH1MD$0HHHLHI<ЅtH=LTH8L[A\A]A^A_]H?UHSQHHt"H@0HtHHHHHSPHZ[]HsvUHAWAVAUATSHHt.Lp@HHI!vLHIu HA1cLHHHyuHInHIcH9t ALAALLHGLHEAHEHtHH[A\A]A^A_]HHpUHAVIAUILATSLIHm;HHMu%L1HHrLL1HHIHtaHHGLIHnMt;I<$LHЅuLH1HrH[A\A]A^]HH^HH^HUHQHHtHH1Hޜ1]HE11HIH@Hg&HH1HLFAɅtjD$AwMH ʍ$΁?ʀ@p΃? ɀP?H΀@p ?IH1|wBwA?HAɀHDHP(v@$w?H,A?H ?AɀɀDH@pHLUHV1HAWAVIޜAUATSHQDfHHHADAf{wH\ZL[1A\A]A^A_]I^E1E9sBt+L1IAUHHHH0HLEH@`@H H1HuHEUHAWIAVAUIATISHH(}@HE@AHHLMMHLp`RHWMH}H AH0H}HH9uAHnH}AHHt7PLMȋMMWHH}H AH}H0HtHn1 HEHIEHeH[A\A]A^A_]UHHHHLEHx`RHHjLH H0H1HuHEUHHE1HHp`HH HL HKU1HATAHSHHuHHUH HE1E1HH H1Hu$1E9UtH HSH HHe[A\]HUHH@`HH H HHMH}UHH E1E1H11H@XPhH H}UHH E1E1H1Hp`HHH HUAIHHH@XHH P8H Htɿ1HdHr1HUHAUI1ATIHuSHH(HMDEHMDE̡ LMHtWPLHH@XAUH PXH}H0IHn1MtHڿHHrHe[A\A]]HOAHUHAWAVAUIATISH8Hu1H1HuH2Hu1LEHMHuH D0HE1LMHnLxXRjHUH AWHH0HH9Iu H}HuH}jHHMHHuI HCPLMLEVHUHuH AWHH0H}IMHuuHUIuI$HHeL[A\A]A^A_]HUHATISHuHH1H MDEHy 3HHHULHHOHH}HnEҋEH [A\]HOE1HUHAWAVAUATSHH}H8H/NHHX@IE1ICHU1A*He@1HfHޜ[A\A]A^A_]fAvAШuAtMHe[A\A]A^A_]HUHAWAVAUIATSQHIH1H9CEufvufAvnAM8tKAU8t)dfD9tD)YDLHLAׅuEfCfvҀu{t LM|fAUfv 1f 1fZ[A\A]A^A_]øUHAVIAUIATE1SIDH;Xhs6HkHxpLHHЅuIH@pHDA1[A\A]A^]H{UHQHH HH,kHHl<uH|HmH E1E11H1H@`H HHJHUHAUIATISAPH8H/NHtsHxHHO!IEHu"HHtH{LYL[A\A]]HRH{ I$HHtH/HtX[A\A]]HUH]H~UHATSHH}uf I~Aԉ u]H}uHyЄtAuH}PAԉډƉf fljډʃffZ1Y[A\]UHHHAUIATISHH(IEH@`P0H 1H0HHt8H;HQuL;atHHI}H`HtHPHH WHH He[A\A]]UHAWAVAAUATSHHH}UI9shH]LeHIH1ILALLL1ALHڿH1IrARH HAIMLMIIL``AT$(H Ht$H1Hr1H}u7H LuMLMIDAT$(H 1HIHaMuIH LeLEH@`P@H Hu!H0HEH L HHHXHH1HޜHEHe[A\A]A^A_]HHaHaH(UHAWAVIHAUMATISHH(8IPHt'HXIMHH0I9s L1ѺIIMtHHI$Ht H@HMt~8AEoHuLeMuLmHuH]PIMHHLH@`AUH P8H0H;uH(HtHH9He؉[A\A]A^A_]HApplUHAWAVIXAUIպ ATISH8HEHHuHuHxHMHLEfEeЉEIPI6I8H@HHLHpcH}I?tI9<$sH-HIHHu IHHPI8H@HpcLHt*HnI>1HXH0HhHH IHp`HHH Ht}HI>H9Hnt31HXHLH1Hr1HXHlH1HޜdH(MtHI$H}t HXHH0HH}MtIIEH}tH@H]HHH}t8H]}t1Hq`1HHe[A\A]A^A_]U1E11HpcHHHMHUH}1u!H1Hr1HEHH%UHAWII)HHHu')1HHrE17HL)HIHtHHSIuHADZL[A\A]]UHAUATSHQHHHS@H9s#H 1HrH`1HtYH)H9HGHyHt>LcXLk`MuHH[`H{ HCXHCHP(LcXLk`H~HCZ[A\A]]UHATSHGHH@0HtH{Ht H-InH;AHA[A\ ]H UHAWInAVAUATSHu10HtH}IH 8QHEȀ8(tLuH}Ⱦ)HHtLpH,LLIAM H/hHHI<$L`tA>/tHHCH{LHCHLHP H}AIIA11HH KHt4uHIHtH9tH}A1IEH HLHIIĄuHuAH!v31E1 E11E1LAMtH-LH1AHH[A\A]A^A_]H9w@s'U 1H.HrHH]HGHwøUHII7HAWAVAUIATSH(HWH_@LPH)IH9HGI E1IGHHI9suHL)HH H9s H H)HI7IELEHMLHUH8A҅u@HMHUI7LEIH)HHȁH HI)I)IdIH(L[A\A]A^A_]UHAWAVAUIATIS1H8HGHuHHuL0D{,AHuZ1ҍ{HHUHH`1IH}IID$@AFMvHII HEIHxDH}H ID$@HEHxHEH}I9?+tKHJ1HuA?IEt&HU1HRHrH}Ȁ?+uHGHEȊWt,u LI+EHHu1HA?IELuHtHE8@t"@,tH#LmHU_IEH IHI9Hi1Hr I\$P1HnHAH8[A\A]A^A_]UHAWAVAUATSHAPH?IM/MI 1MEHH8HIwA1HHxHAUA>`H_sHH@оOI HHH1AMEP1HHHAHsA uG1MmA6II<$IA>u{A! t AE1H 1ɉA$t2M/1HHxHAU uA9AHGHt Lh@Mu"H1HrwZL[A\A]A^A_]UHAUATISRAIAL)H9rX[A\A]]H_UH]H~t,HT`UHSQЀuHjZ[]X[]UHAUATE1SDH(1H H HIH@`D1H H H H HcH1L)УHe[A\A]]U1HS1H []H HH+HH HHH HUHSQXHH5 PXH1Ht uH1H:11H H HH"Ѕu0HЅu H ~ЅuHH~Z[H]U1HSV1aaCBBaaa1ɨ u a taat_H׉H H 11H։11H H HH9s%HcH)1ҿ7H У1ɅZ[]UHAWAVAUATSH(f}%AD$011H ME1H E1EIfUI%I 11H H HUItMuvALE1CH DMHHHwDMLEHH A uH,I1M9sIH]L)M9rZM)1I ILLSHIIwAILUHaL1AsAD9}r HZbM)n1EI IHuIwLLAILqHL1A1H(H[A\A]A^A_]H$UHоHH HHt-xLfu6H1H HIwA1A H4HHt1HcH У]UHAUIATISHQHtH{LAՅtHZH[A\A]]HH~HtHpHH7HGHtHHHHtHB1HHGָf,wH?Hs1HUHXHSH PHHHH HoZH[Hr]HUHSHWHЀ;(u|)uYHpH{[H ]HZH[]H Ht 8mimguH@H}UHAWAVI AUATSH(HmIH8mimgHXHHtxHPHH9sl;{t HHHHHII$HHuHJt#SHsHHЋCI$DH1IHt8mimguH@HIGIHtoHPHH9sc;uNsH{HAHu H H)H:H 8t HJtЋCHHH11HuHuHt98mimgu1HPHHt%HHHH9s:uHZJHHHH1H,H4rHuH}H_HuHtmHUHu H(H11HIHt:I8HHoLLHrLHnHtf;(u)HHIHuE1 HH{H H)I]HIĀ;tHHH1Mu LeMuKH}Ht6A$<,tu*H_<\u ~,uH<,HHnH}HtlHugHHHEHvHHKH:/uHH v-H| H@HЅu HEDH] HnInMtfH(HLH1HHE1IoHtHKHEHAH}AH,LALIrAHHJtAH,AHKAI>ItH 1HH+HH8Ht HHRHHHA1HH H H8HۂHt 11HP HH H)LHYHIH1LIHnInH}ALMAHL1HYHIHHH9tHHnHH9s1H9t @<@<HH<H1HHH9t DDH1Ҋ  H„uUHSHHH@fE HH}H[]1H9tHDDD8tD)11t H8uu)I1Ht-1HA8 >ttH9A8AHEt)H9t Hu119HDHDŽu1 wH HH#UHЅu%;%~A H&H|]UHIH>H:хtH@tYLD EtAхu D:uHHхt>@t-хt *u H:@u:хtH1]HHwH1[1E1DLHI Ѓ@uHHуt @2HHuII)Iv L HHHHkHH)H9t @4 HHH8tHH)HHpUHATSHH^1HHdHIHyЉt AzHIRHH#D IHEt;H@8H@HA8uD$;EtD:EtlHE8tB<@t@,t։ljȅu럸I9tDZA,tAօuA-tIzH9tz@,tփ![A\]HUHATSHL`HLHtHLH[HA\][1A\]HUHATISHH9HFHH{IHtHHLHA[LA\]øIH9rH9rHt 1I1ú@11HHyHHHH9rHH)uMtIUIHAWAVIAUEATISHH8UH}у߀Xt ouHydtL} E-HL}u/xaAMEƒ J0 v IHAJuSHcMuIƒ0HABu*HU IHcHNJE0HABuALHIDI9sAIHAOPHU1I)M9sLL)Eu(Hr"I L9sD II3HL9s 3I uEtHrIL9sD IH8[A\A]A^A_]UHATISHH#A<$օtI@0u0AL$xuu'Iu0v u E1HcE $Et+AQw AMc A0McI0vI'I v ]I9sHcL1HL9s+1 HhHrHtL#IFLIĸMd1 H}HrHtL#E1HtL#[LA\]UE1HAHAWAVAUAATIHSHAQI %M$HH%uy-uHAу0 wH$uEtHH8-uHHHу0 v.HE8HH0 vluJHBluJHB%]C5w%LHLu -u8GuHI$0E'HI$Et.H9s)HAX[1HrA\A]A^A_]H w M$LXHI$HHu7 EH 1M$L0IDŽ$ I$1E1HHHڊHÄ_<%uz-MnuHZIALMу0 vL$u 1HHJHPL8-uHHHHÉ0 v.HE HHÉȃ0 v<%1M11M MItIAMMMt8AAA? ʃuulфy[ʃuʾʃuʾκ?@udʾdu`tdIu vBTv8IH @fffHfffHM?fIH1MHtHH)H[A\A]A^]HUHHtHHM`Hp@H9rH@HHuHp HH@H9rHHbH:HWHwH1H(<-uHz1HmtH1H:]UHAWIAVAUATSHI?IHIHH7H=+HAHIMELf1IFHEMMOIHym5H1HHF HH#Et MI)LHuH1H:LNI(<-tHL1H:LNMM9LIL)HH)I!Lu M9uHHhIv MM9u HNHHLLHHHB(<-HuHM)LJHHH9u HHH)H2HJHFHHHHFmLfIvI;0uI8HF H9t HH6M@tqHHH9HCH=wsHHHw\HHtHк/HHt1HкH3кH1Hr1H[A\A]A^A_]HUHHAVSp2HI1HHHt5HL1HH11ۿ HrH[A^]HH1HUHHATI1SHHtHL1HH[A\]HHkUHHHUHuLEHEIHymuH@(<-HH1H9rHHVH(<-tH1H:HH9rH9@H9ADuHHHH9sHH@(<-HHHzIIIL9uHxE1LHHzHHHEHPI0HHHH9uHV1H9HDH~HPHHHIUAI1HIH+IwHAWAVAUATISHH3ASAHHLs II)MIM.MAU1MIAuH=H+H3IwAIEAYH3H+IM AZLHI9ML @1MHuAQSHAHLHLKMLLK_HAXt2HCHLAH{`HHCPmHC HnLKII1A@VMSAuQHAIE IMH3H+HH IL @H9urJ #ML@M1QHuAUAIEH)LHHCmH{ HHSHƒIEHIU XHnZHe[A\A]A^A_]MuMm51MIؾH+HH3IwAHCHHH)H`I9rmHMHp@H@P(<-H)Hp@I)H0IQHHHHHHHH)HxHHp HPHHtH;r r HJHRHHPHe[A\A]A^A_]UHAUATISHHuHHH[A\A]]HHuHn1qHkHUHuID$LmHHI9EsGHLIHuL+IUHHHHHHnHH[A\A]]ÍG  UHHwrH;wr-H* H 1Hr1HH]UHAUIATSVH:Hu1IMKIԾ HI<$HHtHHH H) HIEI$Z1[A\A]]UHAWIAVAUSHHULr+Hm%HILAŅt8H D(GAX AY1H[A]HrA^A_]H{LH;HHUL{ZDY[A]A^A_]UHATIH(HwH+wtHHH}H}Ѐ8t0EH}HuH4Ѕt A$1H(A\]UHAVAUIHeATISHօu1օuEHuߺLI4Aօt `H}1LHHHpLHH%HtHHAXHAYH[LA\LA]A^]ZY[A\A]A^]U@ƃ0HAWIH#AVAUAATASH`H }AE@_A!ƋtD9tH{D8u;t7*H#tD߃A<vEu׀{uσ{ u E1H]E'CH[A\A]A^A_]UE1HAWIAVI$AUIATMSHHHH}19HUMAHEHAHEHEMMtA>u8H}L9tHn1HuM&HUH}ȾALuH}A6@}HUHЋUHuEH}H9Ѕt He}ЊUƅtttUH}HuǺN}u4}t.H#UЊUtH}HHЭ t$H}UHuǺH4ЅtEIƉE}tHe}ЅUHuH9H}Ѕ%H}HHЭЅ ;ǾE1HI &HcI$HD93~jMuH}1H}HuH}AׅtHHEHH}HA׉I$unHUJIH%H}H 1ɉH}L9t HnHA%H}H}ӡ HH[A\A]A^A_]HnI<$11I$UHAUATSH¬H(H}H}tELmH}1LLeLHHLLHnHJt봡 H([A\A]]HUHAWAVAUIATSHHHLw(MH];JHڊHUtHƒA<wHUH}Hu1HȉEHL8MH9]u:E1HUMe(HMLH=EAWHEH :ti5HEIHH)HEHHĊЅuMIGHM<t=HHnMu(H :u#H 1҉ Mu(Hu,M?=HnMu1/Ml$(LMH]L`(Ht;,uHILHH[A\A]A^A_]1HU1HAUIATISH(MHHuHUHt*HULLStH 1҉}uHыEH([A\A]]HuH<HUHAWAVIAUIATE1SHH8HC0HxAH[(LL`HuHxHHHN AMAL}LMILH=H1ALALII)HLAIF0HxALH)HIF0HMHHpAHMLMA,Mv(LaMoLHHL)AH8H[A\A]A^A_]UHAUIATSQH(HtyHVHHVH9WshHkHS00H@H|IċIwLBATHrAuDH1ALHnX1ZHe[A\A]]UHAUATSQ9t1IHIIЉÅtH@IEHHt@LHZ[A\A]]UHHAVAUATISHH}H@HHHAŅHC(1LuIT$HK(LHHEAT$t A$aH}uHEE,$HC(LHL(Ls(IMtLLHAUtH 1҉A<$uMmH@D[A\A]A^]HůUHAVAUHMLEATInSH H}؅UԅuEAԋEu>H?=HHHt"HpHEH8Ho=HEL0A>I LHۂI}HtHMHHQMԍqP HHL1H#I}HHtH1HޜHEH8AH}Aԡ H [A\A]A^]UHAWAVAUATIHSH(u HH 1E1HޜIxҺ1HHAII ts tnH^w3AUAOIc׈EH}̈HEMD}+E~&u!AE H}IcHA{HHAHHI$H(1[A\A]A^A_]HU1HޜHAUIJtATSHA1H}1H Iӹ1AH]Htр;tH1LHHHnU1HAUATAH}SHH(DE%EA u7HF@Ht.HAIЃA)Ar1H޿ AHuHS(A uH޿ HH([A\A]]UHAWAVI8AUATISRA$t/v?IM.MtLAMmIX[A\A]A^A_]UHSQH(Ht1H HtH0HHtHS(uH1Z[]H(UHATSHt1H0HE1HtHC0HtHA HD[A\]Ãt">tHϼUH]øH8UHSRHHtHChHtHHX[]HIUHSH~QӅtZ[]HPHHPUHSHPHHHPPHpHHrHHZ[]UHAUInATSHPLgPH!vI<$I|$ALA1ҡ HSPHSHY[A\A]]HU1AHIwHAWAVAUIATSH(uLXHAf}Et=uL4erIEHHtH@@tك tHXL 1MtX1ɋuHULMHMAT$t1EĨu#u$IhAHHu;oM$$룅`IU1HHrHǹL1SHHHCH{@y"HB1HrAIHH{@AIFHHHS@LHyuHH;C@tyH 8IU1HkHrvID$(HuLID$0HuNM$$MtM1uHMHUȉELAT$uREuHS@IvH}AT$ t H}ЅtH}M.LsP@E1ID$0HtH}MtInI~ALAHnH1H(H[A\A]A^A_]UAI1HIwHAUAATIHSQHAHXHHtHC8HuHDLЅt1Z[A\A]]H@Hfuf>tH1Hr1HBLR IIIHHIL9r1UHAUATSH(HI9YsHL`MiLITDH IH(IH A wHH^H A$HHpH)L)HqH2HpH2HqH2Hc2HpH)HqHHcH9tKHH(1Hr[A\A]]2HpHqHH9r‰ WHc2Hp릉2JH]H1HHIAHڿ1HHrHG8L91H([A\A]]Éfu+Jfwj tef w %HrT` f u f ufwH ÍBJf_fu1 uHUHAWI?AVIAUAATI`SHAPIA<$A׉…u'H LLAPH Ht,8A<$A׉I$HhCAEu1H`1҉He[A\A]A^A_]ø,H(8uXHU1HHH8HUHuЅt1,UyЃ tttt1H(8uH(8t HUHH@Httu0H  HH Q(H H(8uH(8t $HU@H@@HH HP@H H(8u*H(8uHH@@HPHB R11 H(8uTH(8uEU1HATSHHX@H HCHHD`S(HS0IcHS(H He[A\]H(8uCUHSHQH8u-HH Hx(HMHC8Z1[]1H(8u4HVU1H1HMH(1]1H(8(t HMUHSHVЅu0H/ Hr1H( RH$0tHVHH 0tHHH(1Z[]ø 1UHSPHЅu&HH AAH@@HP8H H]UHSHHHX@HЅtHEPHE#HCHH LMLEHHcPSH HuUEH] HUHAUATSHHHЅaHL`@%=v2?f{fU1LkAffAAʺ%=%tw>%=!tw%=!t%=!P%=!t%=%8%=%ww %=%e%=% %=%IBDJt5=v H9r%E1fEt MAvLCEfDDUD҃fDUH]wfuH HLAT$H H HLAT$H HtHe[A\A]]H(UHSHH8HuHtTEHUHЅum]tfEy_t s0t tA9HH HH@0HPH HuH?}Љ1ۉH]HHUH@HSH8QH;uHXHuHHHH@tH0H@HH;uHHuHHZ[]HHtX[]UHATISLH/LI@LLH[A\]UHATI<SH@H;HtSHs1HA[A\]+ةIV(X%[ ]dV}VVVVCXaXXXX Y[[`Z[ YgYYZX[[Z[Z@[[[[\ؔؔؔؔؔDd`ssHPMKGORSIQ;<=>?@ABCDWXallocation outside 32-bit rangeclosing %s efidiskdisk/efi/efidisk.copening %s not a efidiskno such devicem = %p, last block = %llx, block size = %x, io align = %x invalid buffer alignment %dinvalid sector size %dopening %s succeeded hd%diterating %s fd%dcd%dd%dwriting 0x%lx sectors at the sector 0x%llx to %s no media in `%s'failure writing sector 0x%llx to `%s'reading 0x%lx sectors at the sector 0x%llx from %s failure reading sector 0x%llx from `%s'%s,%sRSDTXSDTFACPrequested buffer size is too largeoverflow is detectednew read is position beyond the end of the written data%s: the command is not allowed when lockdown is enforcedone argument expected/%s%s (%s) unknown invalid argument(%s): Filesystem is %s. %s='%s' not an assignmentSet an environment variable.[ENVVAR=VALUE]setRemove an environment variable.ENVVARunsetList devices or files.[ARG]lsInsert a module.MODULEinsmod%s,%srootvariable `%s' isn't set%s read failed diskkern/disk.cClosing `%s'. Opening `%s'... disk `%s' not foundsector sizes of %d bytes aren't supported yetno such partitionOpening `%s' failed. attempt to read or write outside of partitionattempt to read or write outside of disk `%s'Read out of range: sector 0x%llx (%s). `%s' is already loadedmodule at %p, size 0x%lx moduleskern/dl.cELF header smaller than expectedinvalid arch-independent ELF magicthis ELF file is not of the right typeELF sections outside corerelocating to %p .modnameno module name found.module_licenseno license section in module %.63sLICENSE=GPLv3.moddepsLICENSE=GPLv3+LICENSE=GPLv2+incompatible license in module %.63s: %.63ssymbol `%s' not foundgrub_mod_initgrub_mod_finiunknown symbol type `%d'relocation without symbol tableflushing 0x%lx bytes at %p module name: %s init function: %p prefixvariable `%s' isn't set%s/x86_64-efi/%s.modmismatched names.textdynamic_load_symbols %p Print infomation useful for GDB debugginggdbinfo/%sVendor(%pG)[%x: ]%02x set_virtual_address_map failedcould not set EFI variable `%s'section %d is last section; invalid. sectionskern/efi/efi.csection %d has bad magic %08x, should be %08x returning section info for section %d: "%s" malformed EFI Device Path node has length=%dmalformed EFI Device Path node has length=%lu/EndEntire /EndThis /EndUnknown(%x) /PCI(%x,%x)/PCCARD(%x)/MMap(%x,%llx,%llx)Hardware/Ctrl(%x)/UnknownHW(%x)/ACPI(%x,%x)/ACPI(%x,%s,%x)%s)/UnknownACPI(%x)/ATAPI(%x,%x,%x)/SCSI(%x,%x)/FibreChannel(%llx,%llx)/1394(%llx)/USB(%x,%x)/USBClass(%x,%x,%x,%x,%x)/I2O(%x)/MacAddr(%02x:%02x:%02x:%02x:%02x:%02x,%x)/IPv4(%u.%u.%u.%u,%u.%u.%u.%u,%u,%u,%x,%x)/IPv6(%x:%x:%x:%x:%x:%x:%x:%x,%x:%x:%x:%x:%x:%x:%x:%x,%u,%u,%x,%x)/InfiniBand(%x,%llx,%llx,%llx)/UART(%llu,%u,%x,%x)/Sata(%x,%x,%x)/Vlan(%u)Messaging/UnknownMessaging(%x)/HD(%u,%llx,%llx,%02x%02x%02x%02x%02x%02x%02x%02x,%x,%x)/CD(%u,%llx,%llx)Media/File((null))/File(%s)/Protocol(%pG)/UnknownMedia(%x)/BIOS(%x,%x,%s)/UnknownBIOS(%x)/UnknownType(%x,%x) mods%lxinvalid memory address (0x%s > 0x%s)out of memoryCould not malloc memory to remember EFI allocation. Exiting GRUB won't free all memory. couldn't retrieve memory mapmemory map buffer is too smallcouldn't terminate EFI servicesTrying to terminate EFI services again cannot get EFI memory map sizecannot allocate memory for memory mapcannot allocate memory for new memory maperror fetching memory map from EFIMemory starting at %p (%u pages) marked as free, but EFI would not allocatecould not allocate all requested memory: %lu pages still required after iterating EFI memory map%sprohibited by secure boot policyshim_lock protocol not foundbad shim signatureDisabledUNKNOWNEnabledSecureBootSetupModeMokSBStateUEFI Secure Boot state: %s efikern/efi/sb.cyshim_lockshim_lock_verifier0falsedisablenoerror: %s. assert: error stack overflow detected! missing `%c' symbolattempt to read past the end of fileattempt to seek outside of the fileinvalid file name `%s'beyond the total sectorsDetecting %s... fskern/fs.c/error: %s. %s detection failed. unknown filesystemblocklistno TSC foundpmtimer: 0x%lx bad_reads: %d pmtimerkern/i386/tsc_pmtimer.ctimer is broken; giving up. pmtimer delta is 0x%lx tsc delta is 0x%lx pmtimer delta is 0x%lx (%x iterations) tsc delta is implausible: 0x%lx No FADT found; not using pmtimer. FADT does not specify pmtimer; skipping. ylockdownlockdown_verifier%sroot(%s)%scmdpathx86_64-efiprefixnormal%s%sdebugalloverflow is detectedunrecognized numberpositional arguments are not supportedunexpected formattoo many arguments(null)%s:%d:%s: invalid formatarguments types do not match Aborted. Press any key to exit.string too longunaligned pointer %pout of range pointer %pdouble free at %palloc magic is broken at %p: %lxnull in the ringfree magic is broken at %p: 0x%xout of memoryoverflow is detectedUsing memory for heap: start=%p, end=%p regionskern/mm.cCan we extend into region above? %p + %lx + %lx ?=? %p Yes: extending a region: (%p -> %p) -> (%p -> %p) Can we extend into region below? %p + %x + %lx + %lx ?=? %p No: considering a new region at %p of size %lx overflow is detectedpeek out of range%dsub-partition %s%d of (%s,%s) ends after parent. partitionkern/partition.cUnknown command `%s'. helpTry `help' for usage > grub rescue> Entering rescue mode... file: %s type: %d verifykern/verifiers.cverification requested but nobody cares: %sbig file signature isn't implemented yetpremature end of file %sstring: %s, type: %d verified_readinvalid arch-dependent ELF magicreloc offset is out of the segmentrelocation out of range%lxrelocation 0x%s is not implemented yetcannot set text modeconsolegrub_abortgrub_acpi_find_fadtgrub_acpi_find_tablegrub_byte_checksumgrub_callocgrub_command_listgrub_current_contextgrub_debug_enabledgrub_device_closegrub_device_iterategrub_device_opengrub_disk_cache_tablegrub_disk_closegrub_disk_dev_listgrub_disk_dev_registergrub_disk_dev_unregistergrub_disk_firmware_finigrub_disk_firmware_is_taintedgrub_disk_native_sectorsgrub_disk_opengrub_disk_readgrub_disk_write_weakgrub_divmod64grub_dl_headgrub_dl_loadgrub_dl_load_core_noinitgrub_dl_refgrub_dl_ref_countgrub_dl_unloadgrub_dl_unrefgrub_dma_freegrub_dma_get_physgrub_dma_get_virtgrub_efi_allocate_any_pagesgrub_efi_allocate_fixedgrub_efi_allocate_pages_realgrub_efi_close_protocolgrub_efi_compare_device_pathsgrub_efi_duplicate_device_pathgrub_efi_find_configuration_tablegrub_efi_find_last_device_pathgrub_efi_find_mmap_sizegrub_efi_finish_boot_servicesgrub_efi_free_pagesgrub_efi_get_device_pathgrub_efi_get_filenamegrub_efi_get_loaded_imagegrub_efi_get_memory_mapgrub_efi_get_securebootgrub_efi_get_variablegrub_efi_get_variable_with_attributesgrub_efi_image_handlegrub_efi_is_finishedgrub_efi_locate_handlegrub_efi_locate_protocolgrub_efi_net_configgrub_efi_open_protocolgrub_efi_print_device_pathgrub_efi_set_text_modegrub_efi_set_variablegrub_efi_set_variable_to_stringgrub_efi_set_variable_with_attributesgrub_efi_set_virtual_address_mapgrub_efi_stallgrub_efi_system_tablegrub_efidisk_get_device_handlegrub_efidisk_get_device_namegrub_env_exportgrub_env_getgrub_env_get_boolgrub_env_setgrub_env_unsetgrub_env_update_get_sortedgrub_err_printed_errorsgrub_errmsggrub_errnogrub_errorgrub_error_popgrub_error_pushgrub_exitgrub_fatalgrub_file_closegrub_file_filtersgrub_file_get_device_namegrub_file_opengrub_file_progress_hookgrub_file_readgrub_file_seekgrub_file_verifiersgrub_freegrub_fs_autoload_hookgrub_fs_listgrub_fs_probegrub_get_time_msgrub_getkeygrub_getkey_noblockgrub_getkeystatusgrub_gettextgrub_is_lockdowngrub_is_shim_lock_enabledgrub_isspacegrub_key_is_interruptgrub_list_pushgrub_list_removegrub_lockdowngrub_machine_acpi_get_rsdpv1grub_machine_acpi_get_rsdpv2grub_machine_finigrub_mallocgrub_memaligngrub_memalign_dma32grub_memcmpgrub_memmovegrub_memsetgrub_millisleepgrub_mm_add_region_fngrub_mm_basegrub_modbasegrub_named_list_findgrub_net_opengrub_net_poll_cards_idlegrub_parser_cmdline_stategrub_parser_split_cmdlinegrub_partition_get_namegrub_partition_iterategrub_partition_map_listgrub_partition_probegrub_pci_find_capabilitygrub_pci_iterategrub_pci_make_addressgrub_pmtimer_wait_count_tscgrub_print_errorgrub_printfgrub_printf_grub_printf_fmt_checkgrub_puts_grub_real_dprintfgrub_reallocgrub_rebootgrub_refreshgrub_register_command_lockdowngrub_register_command_priogrub_register_variable_hookgrub_snprintfgrub_strchrgrub_strcmpgrub_strcpygrub_strdupgrub_strlengrub_strncmpgrub_strndupgrub_strrchrgrub_strtoulgrub_strtoullgrub_strwordgrub_term_highlight_colorgrub_term_inputsgrub_term_inputs_disabledgrub_term_normal_colorgrub_term_outputsgrub_term_outputs_disabledgrub_term_poll_usbgrub_tsc_rategrub_unregister_commandgrub_utf8_to_utf16_allocgrub_verify_stringgrub_vprintfgrub_vsnprintfgrub_xasprintfgrub_xputsgrub_xvasprintfgrub_zallocmemcmpmemcpymemmovememset8. ![NYd9ir;qh"<0--'?MnW ?m9ir;1?ir;w/.LVIC!aʓ +|kkP]`FC=݋#yxT݉'"$\'"${  } {  "     }p4ubwF%DvV DMpLW$k## -,/,` &K46@ I 4`"4yX P K;47H c H#?<Y=H=Z=i=wk{wg&Y4ru9Ċ Jy(09@Sj8|H('Л '2֞B/N(U'\'d(LICENSE=GPLv3+LICENSE=GPLv3+mimg?ELF>H@@ HUHAUIATISQHu IT$LhXHID$1Z[A\A]]UHATISH_HHGHCH;GtHAHL[A\]UHATISHH{tHA[A\]UHAWIAVIAUATISLHHHuHM11LHEU@@ HUHPHHH8H1]UHAWAVAUATSHH(L?G*HG0AE1HEIfA<$ ID$ 1fA|$At$9~HyLk G;4rHQuHLE16HcHk HPDhH I Mu"AGH HIHtCAGLLEIXH HHHH1LEuM!HLHLk HyFL9rH9qt/HcE1Hk HȋH)HH9s5Dh@I II!H1 HIL9eHLH w Dl0AWH J H9sG`E1SHH)HH9s GdA9HH)HH9s GhAH 1HmDbzEIE}E΋u̅DHDMDIXLEHMHcH!HHADMtIAE)AuDmH(L[A\A]A^A_]UIHHHXHASjRRPtDX H L RHRHHHAQMILHOIIHwXHHW`HPHhUHAWD~AVDAUATI1SHHHDPw(DHO IHHHcL!C`taH9rVD)HH֋S HCdt@Hv:Ht5II9r&IMkL9sIOL9sH IH9sH‹sOLEIHXIHHH@AAEuuDCAH {LtKX1Ds(11҉lj}P~ uH H AHMHHXH湀AօtAEHH[A\A]A^A_]HUHAUATISQHeI1HùPILHA}f{8Su/Kw'{(t!{LCXft 9s HC`)t"H 1Ht5fft)ƍxuftщ9uPHpHLXHHHHhH`A}t5A} uH 1HHH1ZH[A\A]]HUHAUIATISQHI}HHH1HtC0I$I}HHHСZ[A\A]]HUHAUIATISRHI}HHH1HtqDKpfDCnHIKlfSjshPfAfAfCvEEfPCtPfCrP1AH I$I}HHHСHe[A\A]]HUHAUIATISQHI}HHH1HtH{xHI$I}HHHСZ[A\A]]UHAWAVAUATSHH(HHt=IDc(AH1HHWHH?H8toE11AILLHAA>>f0uAD;c rDEt11IMHLAA>HIHH;H8Ƅt#1A<ua<uVJHIUA>tHLTADžAEf%f=@tf=tf=@@HHLHЅ1H([A\A]A^A_]U1HAVAUIATISHH HU1I<$HEHHMHUI}HIHHEtSHhHUAHIIHLA}uH}HUHAHEH}HHhH9tH}I<$HAEH [A\A]A^]HU1HAWIAVIAUIATSHH(HUI?IEH8HIHHhHEuHHHuHUAIHHЉÅHEȃt0Huȋ^(tBH1H҉jHPLHЉÅtIHI$`HH}AI$`BlRMePH H IE@1IE)H}I$hH9tALAI?HH([A\A]A^A_]UHATSHuPHWHH?H8u#C)t"H1HE1|H{ HIHtDC A;wHs0LLH8111MHHH8tHL뇋C AL[A\]HUHAWA1AVLuAUILATISHӺH(Ѓt CMHEKI|$HSHH8u ǃH1҃uEAHƒ ЈEHIT$LLA$H([A\A]A^A_]HUHSHHPHHHZ[]HHinvalid extentsomething wrong with extentext2fs doesn't support quadruple indirect blocksnot an ext2 filesystemfilesystem has unsupported incompatible features%04x%04x-%04x-%04x-%04x-%04x%04x%04xdirectory is encryptedfile is encryptedsymlink is encryptedext2LICENSE=GPLv3+fshelpext2:03BO^jugrub_mod_initgrub_mod_finigrub_fshelp_find_filegrub_xasprintfgrub_memmovegrub_disk_readgrub_dl_refgrub_errnogrub_memsetgrub_fshelp_read_filegrub_fs_listgrub_mallocgrub_errorgrub_list_removegrub_freegrub_strndupgrub_dl_unrefgrub_list_push#  DSU+f~ 61GnK \ 7 I \s;c\t   &Cbl  .Map{    2   /      " , 8 6 T i        / 8 9 C u      W f  {       ! }   $2<  (^08@H.symtab.strtab.shstrtab.rela.text.rodata.str1.1.rela.data.module_license.bss.moddeps.modname @F@8 &2 :P 5@ @PU^(  8gx ELF>0 @@ UHAWAVLIAUIATSHHH1H1Aօ8f}UHH;tHuHI11LLM\HcA։ÅLLHЅuHLHHЅDHAuIE1AD;DaLPIcLLHLPtH$]1E1E1HHHIALgxPfrģJ٤ #-:^mХ;KUi~˦ۦ2>c5O(Ks}Ԫު:KWapΫݫ"3J^qì(7Vetʭ(8BLVeo|ҮޮMnƯp 8JwРGUyɡ<\ixƢ#?Lfxʣܣ(;Qakwɤפ(9^EQiuߦCSߧ 4kuGfת:Kbūϫޫ(2CMWt~Ϭ#0Zk˭߭1ex '1AQaq}ŠӠݠJTis¡̡֡$9CMdu̢~ˣܣ!.@\nԤ+P'1Ecmy٦zҧܧ&0@QlШܨ'4O[mwĩΩSa@Ѭ׭ +LVY&[eҢ-ggWާ$iɪҫB]vQkyĭUiخHcI}I<$1HIIEI$[H"4A\A]A^]HU1IHIwHAWAVAUIATIHSH HAA$PtIHHpHuI6>uhHuHH1Hr~A?uH 1ɉH>MtIUHYH1Hޜ:Mt5H(1LAUHHFHIH-LHnHAZ[A\A]A^A_]UHATS[HqIHpHHH;AHHu H1HrH31HޜH[0L"=HLHHu![A\1H{]HrHpLHo=[1A\]ÅH1HrHqUH:H1]HUE1HH*HHSHg&ARHtH(HE1HHI+HE1HHH(HAYHE1H []HH(H"HUHAWAVIAUIATISQHt*InLHHkHIu HA׸HUH}J4#HIEIu HHUȋxH0HHLA1H LH HEȺHHAEHHHHHMH!H)HTHuH HHHHUAHUHuHItqAELHIEHLP(tbH_sME1HaHLH\IwAHsLAH  H}HUI4HLAu:IE0Ht/H}ME8DI HMUH8[LA\A]A^A_]1H8[A\A]A^A_]UHAUInATSH` QLH{Ht{ u A1HSH(L9uX[A\A]]H@ HH8HW8H@ HHtHH8H9uH HP8HHU1+H\IwHAUATSHQLHmHaAHCHtH@ HtHHInHH{(Ht Lo(ALk(H;AZHL[A\A]]UI1H|H\HAWAVIwAUATIHaSHAֿHH/LuHQHMH HCAIVtk<\u A~,u IV<,tIHMM)IIHLHLHCD=LHHLME1HHH@ HL8HMtLHLAWH uYKAvn1HHrL 1HHr9 H 1M8jL{Mt9IvHHgHC(HuH Hr@HHIHHL9sH3HL:MtM9tHnLH 8tXH_sLMMHa1HH\AHsHHK41HH[A\A]A^A_]UHAWAVIAUIATISAHH I HH HLEHG(Ht=HPHpH9sH)H9sH 1HrdH@(HAFH3HIFHH9HGH9sK,H)H H9I 1H%Hrхt\H_s1IؾI HSH\HaIwAHsHڃ?HL SH AHLLLEH1I)M9MGHLЅL}M)MI LE1AFI9LIv HHHEIFHUxH/IHIM9uAFLHL)HHIFHHMP(ZI01H}HHHEHHIv HI~HڋAHEI0HL9rIF0HtDMF8HM1HLILeHM)HMu_IMIHELLHHHIFIv HUxH0MIF0HtMF8HMȺ1HHEH@IlMu 21LELHH1LЅtM1E1vH[A\A]A^A_]HG(HtH@HGHt O HHUHAUIATISQHHtH3LAՅtH[PZH[A\A]]UHAWAVE1AUIATSHHG>W:HuLg(IHN| CUHAUIY=ATSHQLgMtI|$AM$$CCZ[A\A]]1Ht>UHAUI=ATSHQLgMtI|$AM$$CȉCZ[A\A]]11HtGà UHAWAVAUATSHHHG8HtHHHt H9u$HCPHI InI HPPH@PMeMMt8I$I;\$ u%II|$HEALAHEHMIII9uInLcMt M4$I|$H=LAMH{@AH;AHAH[A\A]A^A_]1UII1HHHAWAVAUIwATImSHHH8AHI?v;ELFu {u{tH1HrHHЉEă}u$f{t%HHr1E1C:S<H)HC(I9rH/XIHt@IHHC1HAHHUI;AHuH^HrcHxHHI$Ht>HsHAIHu?I$1HHr t1IL$8sHHxIHAׅuHHAHuhHI~HAׅtHI~HAׅtINI$1HIrHAЅWLhHH IHILHMHEI9s&A}tLAIHu(  HC(s<1ɿE1HOHHY=пHHtIT$LpLHID$HMlk9s(HP0INl*IM!Lh H9HBS:HHLID$@IHtvL{(1Ml$HUI6IW E1HujIG MhI@EA@ID$IMD$EC:IC<9EAGtH IHu `IG0MlHI!AGMtt pLE1LHIwLELHHLE6Hs(K<1H39szt#{:HuILk(IC:B(E1HJ8LzHIIL$(HDM|$ HEHB 1EHEEA9tEoDA u#AH}AHHHHEȀ1IGAwfHM1t i?Hй1H HHHtHzHuHUHUt+HHUȿ1HHrNHBzIG-AAEoH1<I|$IGIGHE1H}LH<ЅBAwI|$H1<IGIGHEt*H}LH<Ѕt HH}IAՅu IGID$0^H+H}AՅuIIGID$8>I|$AwH1<IG"ҿ1H9HrHEAI\AE ttEC:IC<9Er\IL$HtAE,9AtH I|$ u'1HRHr҅=LHLAօt&ML$@1MD$HHwHr?HH1M$HHH1MD$0HHHLHI<ЅtH=LTH8L[A\A]A^A_]H?UHSQHHt"H@0HtHHHHHSPHZ[]HsvUHAWAVAUATSHHt.Lp@HHI!vLHIu HA1cLHHHyuHInHIcH9t ALAALLHGLHEAHEHtHH[A\A]A^A_]HHpUHAVIAUILATSLIHm;HHMu%L1HHrLL1HHIHtaHHGLIHnMt;I<$LHЅuLH1HrH[A\A]A^]HH^HH^HUHQHHtHH1Hޜ1]HE11HIH@Hg&HH1HLFAɅtjD$AwMH ʍ$΁?ʀ@p΃? ɀP?H΀@p ?IH1|wBwA?HAɀHDHP(v@$w?H,A?H ?AɀɀDH@pHLUHV1HAWAVIޜAUATSHQDfHHHADAf{wH\ZL[1A\A]A^A_]I^E1E9sBt+L1IAUHHHH0HLEH@`@H H1HuHEUHAWIAVAUIATISHH(}@HE@AHHLMMHLp`RHWMH}H AH0H}HH9uAHnH}AHHt7PLMȋMMWHH}H AH}H0HtHn1 HEHIEHeH[A\A]A^A_]UHHHHLEHx`RHHjLH H0H1HuHEUHHE1HHp`HH HL HKU1HATAHSHHuHHUH HE1E1HH H1Hu$1E9UtH HSH HHe[A\]HUHH@`HH H HHMH}UHH E1E1H11H@XPhH H}UHH E1E1H1Hp`HHH HUAIHHH@XHH P8H Htɿ1HdHr1HUHAUI1ATIHuSHH(HMDEHMDE̡ LMHtWPLHH@XAUH PXH}H0IHn1MtHڿHHrHe[A\A]]HOAHUHAWAVAUIATISH8Hu1H1HuH2Hu1LEHMHuH D0HE1LMHnLxXRjHUH AWHH0HH9Iu H}HuH}jHHMHHuI HCPLMLEVHUHuH AWHH0H}IMHuuHUIuI$HHeL[A\A]A^A_]HUHATISHuHH1H MDEHy 3HHHULHHOHH}HnEҋEH [A\]HOE1HUHAWAVAUATSHH}H8H/NHHX@IE1ICHU1A*He@1HfHޜ[A\A]A^A_]fAvAШuAtMHe[A\A]A^A_]HUHAWAVAUIATSQHIH1H9CEufvufAvnAM8tKAU8t)dfD9tD)YDLHLAׅuEfCfvҀu{t LM|fAUfv 1f 1fZ[A\A]A^A_]øUHAVIAUIATE1SIDH;Xhs6HkHxpLHHЅuIH@pHDA1[A\A]A^]H{UHQHH HH,kHHl<uH|HmH E1E11H1H@`H HHJHUHAUIATISAPH8H/NHtsHxHHO!IEHu"HHtH{LYL[A\A]]HRH{ I$HHtH/HtX[A\A]]HUH]H~UHATSHH}uf I~Aԉ u]H}uHyЄtAuH}PAԉډƉf fljډʃffZ1Y[A\]UHHHAUIATISHH(IEH@`P0H 1H0HHt8H;HQuL;atHHI}H`HtHPHH WHH He[A\A]]UHAWAVAAUATSHHH}UI9shH]LeHIH1ILALLL1ALHڿH1IrARH HAIMLMIIL``AT$(H Ht$H1Hr1H}u7H LuMLMIDAT$(H 1HIHaMuIH LeLEH@`P@H Hu!H0HEH L HHHXHH1HޜHEHe[A\A]A^A_]HHaHaH(UHAWAVIHAUMATISHH(8IPHt'HXIMHH0I9s L1ѺIIMtHHI$Ht H@HMt~8AEoHuLeMuLmHuH]PIMHHLH@`AUH P8H0H;uH(HtHH9He؉[A\A]A^A_]HApplUHAWAVIXAUIպ ATISH8HEHHuHuHxHMHLEfEeЉEIPI6I8H@HHLHpcH}I?tI9<$sH-HIHHu IHHPI8H@HpcLHt*HnI>1HXH0HhHH IHp`HHH Ht}HI>H9Hnt31HXHLH1Hr1HXHlH1HޜdH(MtHI$H}t HXHH0HH}MtIIEH}tH@H]HHH}t8H]}t1Hq`1HHe[A\A]A^A_]U1E11HpcHHHMHUH}1u!H1Hr1HEHH%UHAWII)HHHu')1HHrE17HL)HIHtHHSIuHADZL[A\A]]UHAUATSHQHHHS@H9s#H 1HrH`1HtYH)H9HGHyHt>LcXLk`MuHH[`H{ HCXHCHP(LcXLk`H~HCZ[A\A]]UHATSHGHH@0HtH{Ht H-InH;AHA[A\ ]H UHAWInAVAUATSHu10HtH}IH 8QHEȀ8(tLuH}Ⱦ)HHtLpH,LLIAM H/hHHI<$L`tA>/tHHCH{LHCHLHP H}AIIA11HH KHt4uHIHtH9tH}A1IEH HLHIIĄuHuAH!v31E1 E11E1LAMtH-LH1AHH[A\A]A^A_]H9w@s'U 1H.HrHH]HGHwøUHII7HAWAVAUIATSH(HWH_@LPH)IH9HGI E1IGHHI9suHL)HH H9s H H)HI7IELEHMLHUH8A҅u@HMHUI7LEIH)HHȁH HI)I)IdIH(L[A\A]A^A_]UHAWAVAUIATIS1H8HGHuHHuL0D{,AHuZ1ҍ{HHUHH`1IH}IID$@AFMvHII HEIHxDH}H ID$@HEHxHEH}I9?+tKHJ1HuA?IEt&HU1HRHrH}Ȁ?+uHGHEȊWt,u LI+EHHu1HA?IELuHtHE8@t"@,tH#LmHU_IEH IHI9Hi1Hr I\$P1HnHAH8[A\A]A^A_]UHAWAVAUATSHAPH?IM/MI 1MEHH8HIwA1HHxHAUA>`H_sHH@оOI HHH1AMEP1HHHAHsA uG1MmA6II<$IA>u{A! t AE1H 1ɉA$t2M/1HHxHAU uA9AHGHt Lh@Mu"H1HrwZL[A\A]A^A_]UHAUATISRAIAL)H9rX[A\A]]H_UH]H~t,HT`UHSQЀuHjZ[]X[]UHAUATE1SDH(1H H HIH@`D1H H H H HcH1L)УHe[A\A]]U1HS1H []H HH+HH HHH HUHSQXHH5 PXH1Ht uH1H:11H H HH"Ѕu0HЅu H ~ЅuHH~Z[H]U1HSV1aaCBBaaa1ɨ u a taat_H׉H H 11H։11H H HH9s%HcH)1ҿ7H У1ɅZ[]UHAWAVAUATSH(f}%AD$011H ME1H E1EIfUI%I 11H H HUItMuvALE1CH DMHHHwDMLEHH A uH,I1M9sIH]L)M9rZM)1I ILLSHIIwAILUHaL1AsAD9}r HZbM)n1EI IHuIwLLAILqHL1A1H(H[A\A]A^A_]H$UHоHH HHt-xLfu6H1H HIwA1A H4HHt1HcH У]UHAUIATISHQHtH{LAՅtHZH[A\A]]HH~HtHpHH7HGHtHHHHtHB1HHGָf,wH?Hs1HUHXHSH PHHHH HoZH[Hr]HUHSHWHЀ;(u|)uYHpH{[H ]HZH[]H Ht 8mimguH@H}UHAWAVI AUATSH(HmIH8mimgHXHHtxHPHH9sl;{t HHHHHII$HHuHJt#SHsHHЋCI$DH1IHt8mimguH@HIGIHtoHPHH9sc;uNsH{HAHu H H)H:H 8t HJtЋCHHH11HuHuHt98mimgu1HPHHt%HHHH9s:uHZJHHHH1H,H4rHuH}H_HuHtmHUHu H(H11HIHt:I8HHoLLHrLHnHtf;(u)HHIHuE1 HH{H H)I]HIĀ;tHHH1Mu LeMuKH}Ht6A$<,tu*H_<\u ~,uH<,HHnH}HtlHugHHHEHvHHKH:/uHH v-H| H@HЅu HEDH] HnInMtfH(HLH1HHE1IoHtHKHEHAH}AH,LALIrAHHJtAH,AHKAI>ItH 1HH+HH8Ht HHRHHHA1HH H H8HۂHt 11HP HH H)LHYHIH1LIHnInH}ALMAHL1HYHIHHH9tHHnHH9s1H9t @<@<HH<H1HHH9t DDH1Ҋ  H„uUHSHHH@fE HH}H[]1H9tHDDD8tD)11t H8uu)I1Ht-1HA8 >ttH9A8AHEt)H9t Hu119HDHDŽu1 wH HH#UHЅu%;%~A H&H|]UHIH>H:хtH@tYLD EtAхu D:uHHхt>@t-хt *u H:@u:хtH1]HHwH1[1E1DLHI Ѓ@uHHуt @2HHuII)Iv L HHHHkHH)H9t @4 HHH8tHH)HHpUHATSHH^1HHdHIHyЉt AzHIRHH#D IHEt;H@8H@HA8uD$;EtD:EtlHE8tB<@t@,t։ljȅu럸I9tDZA,tAօuA-tIzH9tz@,tփ![A\]HUHATSHL`HLHtHLH[HA\][1A\]HUHATISHH9HFHH{IHtHHLHA[LA\]øIH9rH9rHt 1I1ú@11HHyHHHH9rHH)uMtIUIHAWAVIAUEATISHH8UH}у߀Xt ouHydtL} E-HL}u/xaAMEƒ J0 v IHAJuSHcMuIƒ0HABu*HU IHcHNJE0HABuALHIDI9sAIHAOPHU1I)M9sLL)Eu(Hr"I L9sD II3HL9s 3I uEtHrIL9sD IH8[A\A]A^A_]UHATISHH#A<$օtI@0u0AL$xuu'Iu0v u E1HcE $Et+AQw AMc A0McI0vI'I v ]I9sHcL1HL9s+1 HhHrHtL#IFLIĸMd1 H}HrHtL#E1HtL#[LA\]UE1HAHAWAVAUAATIHSHAQI %M$HH%uy-uHAу0 wH$uEtHH8-uHHHу0 v.HE8HH0 vluJHBluJHB%]C5w%LHLu -u8GuHI$0E'HI$Et.H9s)HAX[1HrA\A]A^A_]H w M$LXHI$HHu7 EH 1M$L0IDŽ$ I$1E1HHHڊHÄ_<%uz-MnuHZIALMу0 vL$u 1HHJHPL8-uHHHHÉ0 v.HE HHÉȃ0 v<%1M11M MItIAMMMt8AAA? ʃuulфy[ʃuʾʃuʾκ?@udʾdu`tdIu vBTv8IH @fffHfffHM?fIH1MHtHH)H[A\A]A^]HUHHtHHM`Hp@H9rH@HHuHp HH@H9rHHbH:HWHwH1H(<-uHz1HmtH1H:]UHAWIAVAUATSHI?IHIHH7H=+HAHIMELf1IFHEMMOIHym5H1HHF HH#Et MI)LHuH1H:LNI(<-tHL1H:LNMM9LIL)HH)I!Lu M9uHHhIv MM9u HNHHLLHHHB(<-HuHM)LJHHH9u HHH)H2HJHFHHHHFmLfIvI;0uI8HF H9t HH6M@tqHHH9HCH=wsHHHw\HHtHк/HHt1HкH3кH1Hr1H[A\A]A^A_]HUHHAVSp2HI1HHHt5HL1HH11ۿ HrH[A^]HH1HUHHATI1SHHtHL1HH[A\]HHkUHHHUHuLEHEIHymuH@(<-HH1H9rHHVH(<-tH1H:HH9rH9@H9ADuHHHH9sHH@(<-HHHzIIIL9uHxE1LHHzHHHEHPI0HHHH9uHV1H9HDH~HPHHHIUAI1HIH+IwHAWAVAUATISHH3ASAHHLs II)MIM.MAU1MIAuH=H+H3IwAIEAYH3H+IM AZLHI9ML @1MHuAQSHAHLHLKMLLK_HAXt2HCHLAH{`HHCPmHC HnLKII1A@VMSAuQHAIE IMH3H+HH IL @H9urJ #ML@M1QHuAUAIEH)LHHCmH{ HHSHƒIEHIU XHnZHe[A\A]A^A_]MuMm51MIؾH+HH3IwAHCHHH)H`I9rmHMHp@H@P(<-H)Hp@I)H0IQHHHHHHHH)HxHHp HPHHtH;r r HJHRHHPHe[A\A]A^A_]UHAUATISHHuHHH[A\A]]HHuHn1qHkHUHuID$LmHHI9EsGHLIHuL+IUHHHHHHnHH[A\A]]ÍG  UHHwrH;wr-H* H 1Hr1HH]UHAUIATSVH:Hu1IMKIԾ HI<$HHtHHH H) HIEI$Z1[A\A]]UHAWIAVAUSHHULr+Hm%HILAŅt8H D(GAX AY1H[A]HrA^A_]H{LH;HHUL{ZDY[A]A^A_]UHATIH(HwH+wtHHH}H}Ѐ8t0EH}HuH4Ѕt A$1H(A\]UHAVAUIHeATISHօu1օuEHuߺLI4Aօt `H}1LHHHpLHH%HtHHAXHAYH[LA\LA]A^]ZY[A\A]A^]U@ƃ0HAWIH#AVAUAATASH`H }AE@_A!ƋtD9tH{D8u;t7*H#tD߃A<vEu׀{uσ{ u E1H]E'CH[A\A]A^A_]UE1HAWIAVI$AUIATMSHHHH}19HUMAHEHAHEHEMMtA>u8H}L9tHn1HuM&HUH}ȾALuH}A6@}HUHЋUHuEH}H9Ѕt He}ЊUƅtttUH}HuǺN}u4}t.H#UЊUtH}HHЭ t$H}UHuǺH4ЅtEIƉE}tHe}ЅUHuH9H}Ѕ%H}HHЭЅ ;ǾE1HI &HcI$HD93~jMuH}1H}HuH}AׅtHHEHH}HA׉I$unHUJIH%H}H 1ɉH}L9t HnHA%H}H}ӡ HH[A\A]A^A_]HnI<$11I$UHAUATSH¬H(H}H}tELmH}1LLeLHHLLHnHJt봡 H([A\A]]HUHAWAVAUIATSHHHLw(MH];JHڊHUtHƒA<wHUH}Hu1HȉEHL8MH9]u:E1HUMe(HMLH=EAWHEH :ti5HEIHH)HEHHĊЅuMIGHM<t=HHnMu(H :u#H 1҉ Mu(Hu,M?=HnMu1/Ml$(LMH]L`(Ht;,uHILHH[A\A]A^A_]1HU1HAUIATISH(MHHuHUHt*HULLStH 1҉}uHыEH([A\A]]HuH<HUHAWAVIAUIATE1SHH8HC0HxAH[(LL`HuHxHHHN AMAL}LMILH=H1ALALII)HLAIF0HxALH)HIF0HMHHpAHMLMA,Mv(LaMoLHHL)AH8H[A\A]A^A_]UHAUIATSQH(HtyHVHHVH9WshHkHS00H@H|IċIwLBATHrAuDH1ALHnX1ZHe[A\A]]UHAUATSQ9t1IHIIЉÅtH@IEHHt@LHZ[A\A]]UHHAVAUATISHH}H@HHHAŅHC(1LuIT$HK(LHHEAT$t A$aH}uHEE,$HC(LHL(Ls(IMtLLHAUtH 1҉A<$uMmH@D[A\A]A^]HůUHAVAUHMLEATInSH H}؅UԅuEAԋEu>H?=HHHt"HpHEH8Ho=HEL0A>I LHۂI}HtHMHHQMԍqP HHL1H#I}HHtH1HޜHEH8AH}Aԡ H [A\A]A^]UHAWAVAUATIHSH(u HH 1E1HޜIxҺ1HHAII ts tnH^w3AUAOIc׈EH}̈HEMD}+E~&u!AE H}IcHA{HHAHHI$H(1[A\A]A^A_]HU1HޜHAUIJtATSHA1H}1H Iӹ1AH]Htр;tH1LHHHnU1HAUATAH}SHH(DE%EA u7HF@Ht.HAIЃA)Ar1H޿ AHuHS(A uH޿ HH([A\A]]UHAWAVI8AUATISRA$t/v?IM.MtLAMmIX[A\A]A^A_]UHSQH(Ht1H HtH0HHtHS(uH1Z[]H(UHATSHt1H0HE1HtHC0HtHA HD[A\]Ãt">tHϼUH]øH8UHSRHHtHChHtHHX[]HIUHSH~QӅtZ[]HPHHPUHSHPHHHPPHpHHrHHZ[]UHAUInATSHPLgPH!vI<$I|$ALA1ҡ HSPHSHY[A\A]]HU1AHIwHAWAVAUIATSH(uLXHAf}Et=uL4erIEHHtH@@tك tHXL 1MtX1ɋuHULMHMAT$t1EĨu#u$IhAHHu;oM$$룅`IU1HHrHǹL1SHHHCH{@y"HB1HrAIHH{@AIFHHHS@LHyuHH;C@tyH 8IU1HkHrvID$(HuLID$0HuNM$$MtM1uHMHUȉELAT$uREuHS@IvH}AT$ t H}ЅtH}M.LsP@E1ID$0HtH}MtInI~ALAHnH1H(H[A\A]A^A_]UAI1HIwHAUAATIHSQHAHXHHtHC8HuHDLЅt1Z[A\A]]H@Hfuf>tH1Hr1HBLR IIIHHIL9r1UHAUATSH(HI9YsHL`MiLITDH IH(IH A wHH^H A$HHpH)L)HqH2HpH2HqH2Hc2HpH)HqHHcH9tKHH(1Hr[A\A]]2HpHqHH9r‰ WHc2Hp릉2JH]H1HHIAHڿ1HHrHG8L91H([A\A]]Éfu+Jfwj tef w %HrT` f u f ufwH ÍBJf_fu1 uHUHAWI?AVIAUAATI`SHAPIA<$A׉…u'H LLAPH Ht,8A<$A׉I$HhCAEu1H`1҉He[A\A]A^A_]ø,H(8uXHU1HHH8HUHuЅt1,UyЃ tttt1H(8uH(8t HUHH@Httu0H  HH Q(H H(8uH(8t $HU@H@@HH HP@H H(8u*H(8uHH@@HPHB R11 H(8uTH(8uEU1HATSHHX@H HCHHD`S(HS0IcHS(H He[A\]H(8uCUHSHQH8u-HH Hx(HMHC8Z1[]1H(8u4HVU1H1HMH(1]1H(8(t HMUHSHVЅu0H/ Hr1H( RH$0tHVHH 0tHHH(1Z[]ø 1UHSPHЅu&HH AAH@@HP8H H]UHSHHHX@HЅtHEPHE#HCHH LMLEHHcPSH HuUEH] HUHAUATSHHHЅaHL`@%=v2?f{fU1LkAffAAʺ%=%tw>%=!tw%=!t%=!P%=!t%=%8%=%ww %=%e%=% %=%IBDJt5=v H9r%E1fEt MAvLCEfDDUD҃fDUH]wfuH HLAT$H H HLAT$H HtHe[A\A]]H(UHSHH8HuHtTEHUHЅum]tfEy_t s0t tA9HH HH@0HPH HuH?}Љ1ۉH]HHUH@HSH8QH;uHXHuHHHH@tH0H@HH;uHHuHHZ[]HHtX[]UHATISLH/LI@LLH[A\]UHATI<SH@H;HtSHs1HA[A\]+ةIV(X%[ ]dV}VVVVCXaXXXX Y[[`Z[ YgYYZX[[Z[Z@[[[[\ؔؔؔؔؔDd`ssHPMKGORSIQ;<=>?@ABCDWXallocation outside 32-bit rangeclosing %s efidiskdisk/efi/efidisk.copening %s not a efidiskno such devicem = %p, last block = %llx, block size = %x, io align = %x invalid buffer alignment %dinvalid sector size %dopening %s succeeded hd%diterating %s fd%dcd%dd%dwriting 0x%lx sectors at the sector 0x%llx to %s no media in `%s'failure writing sector 0x%llx to `%s'reading 0x%lx sectors at the sector 0x%llx from %s failure reading sector 0x%llx from `%s'%s,%sRSDTXSDTFACPrequested buffer size is too largeoverflow is detectednew read is position beyond the end of the written data%s: the command is not allowed when lockdown is enforcedone argument expected/%s%s (%s) unknown invalid argument(%s): Filesystem is %s. %s='%s' not an assignmentSet an environment variable.[ENVVAR=VALUE]setRemove an environment variable.ENVVARunsetList devices or files.[ARG]lsInsert a module.MODULEinsmod%s,%srootvariable `%s' isn't set%s read failed diskkern/disk.cClosing `%s'. Opening `%s'... disk `%s' not foundsector sizes of %d bytes aren't supported yetno such partitionOpening `%s' failed. attempt to read or write outside of partitionattempt to read or write outside of disk `%s'Read out of range: sector 0x%llx (%s). `%s' is already loadedmodule at %p, size 0x%lx moduleskern/dl.cELF header smaller than expectedinvalid arch-independent ELF magicthis ELF file is not of the right typeELF sections outside corerelocating to %p .modnameno module name found.module_licenseno license section in module %.63sLICENSE=GPLv3.moddepsLICENSE=GPLv3+LICENSE=GPLv2+incompatible license in module %.63s: %.63ssymbol `%s' not foundgrub_mod_initgrub_mod_finiunknown symbol type `%d'relocation without symbol tableflushing 0x%lx bytes at %p module name: %s init function: %p prefixvariable `%s' isn't set%s/x86_64-efi/%s.modmismatched names.textdynamic_load_symbols %p Print infomation useful for GDB debugginggdbinfo/%sVendor(%pG)[%x: ]%02x set_virtual_address_map failedcould not set EFI variable `%s'section %d is last section; invalid. sectionskern/efi/efi.csection %d has bad magic %08x, should be %08x returning section info for section %d: "%s" malformed EFI Device Path node has length=%dmalformed EFI Device Path node has length=%lu/EndEntire /EndThis /EndUnknown(%x) /PCI(%x,%x)/PCCARD(%x)/MMap(%x,%llx,%llx)Hardware/Ctrl(%x)/UnknownHW(%x)/ACPI(%x,%x)/ACPI(%x,%s,%x)%s)/UnknownACPI(%x)/ATAPI(%x,%x,%x)/SCSI(%x,%x)/FibreChannel(%llx,%llx)/1394(%llx)/USB(%x,%x)/USBClass(%x,%x,%x,%x,%x)/I2O(%x)/MacAddr(%02x:%02x:%02x:%02x:%02x:%02x,%x)/IPv4(%u.%u.%u.%u,%u.%u.%u.%u,%u,%u,%x,%x)/IPv6(%x:%x:%x:%x:%x:%x:%x:%x,%x:%x:%x:%x:%x:%x:%x:%x,%u,%u,%x,%x)/InfiniBand(%x,%llx,%llx,%llx)/UART(%llu,%u,%x,%x)/Sata(%x,%x,%x)/Vlan(%u)Messaging/UnknownMessaging(%x)/HD(%u,%llx,%llx,%02x%02x%02x%02x%02x%02x%02x%02x,%x,%x)/CD(%u,%llx,%llx)Media/File((null))/File(%s)/Protocol(%pG)/UnknownMedia(%x)/BIOS(%x,%x,%s)/UnknownBIOS(%x)/UnknownType(%x,%x) mods%lxinvalid memory address (0x%s > 0x%s)out of memoryCould not malloc memory to remember EFI allocation. Exiting GRUB won't free all memory. couldn't retrieve memory mapmemory map buffer is too smallcouldn't terminate EFI servicesTrying to terminate EFI services again cannot get EFI memory map sizecannot allocate memory for memory mapcannot allocate memory for new memory maperror fetching memory map from EFIMemory starting at %p (%u pages) marked as free, but EFI would not allocatecould not allocate all requested memory: %lu pages still required after iterating EFI memory map%sprohibited by secure boot policyshim_lock protocol not foundbad shim signatureDisabledUNKNOWNEnabledSecureBootSetupModeMokSBStateUEFI Secure Boot state: %s efikern/efi/sb.cyshim_lockshim_lock_verifier0falsedisablenoerror: %s. assert: error stack overflow detected! missing `%c' symbolattempt to read past the end of fileattempt to seek outside of the fileinvalid file name `%s'beyond the total sectorsDetecting %s... fskern/fs.c/error: %s. %s detection failed. unknown filesystemblocklistno TSC foundpmtimer: 0x%lx bad_reads: %d pmtimerkern/i386/tsc_pmtimer.ctimer is broken; giving up. pmtimer delta is 0x%lx tsc delta is 0x%lx pmtimer delta is 0x%lx (%x iterations) tsc delta is implausible: 0x%lx No FADT found; not using pmtimer. FADT does not specify pmtimer; skipping. ylockdownlockdown_verifier%sroot(%s)%scmdpathx86_64-efiprefixnormal%s%sdebugalloverflow is detectedunrecognized numberpositional arguments are not supportedunexpected formattoo many arguments(null)%s:%d:%s: invalid formatarguments types do not match Aborted. Press any key to exit.string too longunaligned pointer %pout of range pointer %pdouble free at %palloc magic is broken at %p: %lxnull in the ringfree magic is broken at %p: 0x%xout of memoryoverflow is detectedUsing memory for heap: start=%p, end=%p regionskern/mm.cCan we extend into region above? %p + %lx + %lx ?=? %p Yes: extending a region: (%p -> %p) -> (%p -> %p) Can we extend into region below? %p + %x + %lx + %lx ?=? %p No: considering a new region at %p of size %lx overflow is detectedpeek out of range%dsub-partition %s%d of (%s,%s) ends after parent. partitionkern/partition.cUnknown command `%s'. helpTry `help' for usage > grub rescue> Entering rescue mode... file: %s type: %d verifykern/verifiers.cverification requested but nobody cares: %sbig file signature isn't implemented yetpremature end of file %sstring: %s, type: %d verified_readinvalid arch-dependent ELF magicreloc offset is out of the segmentrelocation out of range%lxrelocation 0x%s is not implemented yetcannot set text modeconsolegrub_abortgrub_acpi_find_fadtgrub_acpi_find_tablegrub_byte_checksumgrub_callocgrub_command_listgrub_current_contextgrub_debug_enabledgrub_device_closegrub_device_iterategrub_device_opengrub_disk_cache_tablegrub_disk_closegrub_disk_dev_listgrub_disk_dev_registergrub_disk_dev_unregistergrub_disk_firmware_finigrub_disk_firmware_is_taintedgrub_disk_native_sectorsgrub_disk_opengrub_disk_readgrub_disk_write_weakgrub_divmod64grub_dl_headgrub_dl_loadgrub_dl_load_core_noinitgrub_dl_refgrub_dl_ref_countgrub_dl_unloadgrub_dl_unrefgrub_dma_freegrub_dma_get_physgrub_dma_get_virtgrub_efi_allocate_any_pagesgrub_efi_allocate_fixedgrub_efi_allocate_pages_realgrub_efi_close_protocolgrub_efi_compare_device_pathsgrub_efi_duplicate_device_pathgrub_efi_find_configuration_tablegrub_efi_find_last_device_pathgrub_efi_find_mmap_sizegrub_efi_finish_boot_servicesgrub_efi_free_pagesgrub_efi_get_device_pathgrub_efi_get_filenamegrub_efi_get_loaded_imagegrub_efi_get_memory_mapgrub_efi_get_securebootgrub_efi_get_variablegrub_efi_get_variable_with_attributesgrub_efi_image_handlegrub_efi_is_finishedgrub_efi_locate_handlegrub_efi_locate_protocolgrub_efi_net_configgrub_efi_open_protocolgrub_efi_print_device_pathgrub_efi_set_text_modegrub_efi_set_variablegrub_efi_set_variable_to_stringgrub_efi_set_variable_with_attributesgrub_efi_set_virtual_address_mapgrub_efi_stallgrub_efi_system_tablegrub_efidisk_get_device_handlegrub_efidisk_get_device_namegrub_env_exportgrub_env_getgrub_env_get_boolgrub_env_setgrub_env_unsetgrub_env_update_get_sortedgrub_err_printed_errorsgrub_errmsggrub_errnogrub_errorgrub_error_popgrub_error_pushgrub_exitgrub_fatalgrub_file_closegrub_file_filtersgrub_file_get_device_namegrub_file_opengrub_file_progress_hookgrub_file_readgrub_file_seekgrub_file_verifiersgrub_freegrub_fs_autoload_hookgrub_fs_listgrub_fs_probegrub_get_time_msgrub_getkeygrub_getkey_noblockgrub_getkeystatusgrub_gettextgrub_is_lockdowngrub_is_shim_lock_enabledgrub_isspacegrub_key_is_interruptgrub_list_pushgrub_list_removegrub_lockdowngrub_machine_acpi_get_rsdpv1grub_machine_acpi_get_rsdpv2grub_machine_finigrub_mallocgrub_memaligngrub_memalign_dma32grub_memcmpgrub_memmovegrub_memsetgrub_millisleepgrub_mm_add_region_fngrub_mm_basegrub_modbasegrub_named_list_findgrub_net_opengrub_net_poll_cards_idlegrub_parser_cmdline_stategrub_parser_split_cmdlinegrub_partition_get_namegrub_partition_iterategrub_partition_map_listgrub_partition_probegrub_pci_find_capabilitygrub_pci_iterategrub_pci_make_addressgrub_pmtimer_wait_count_tscgrub_print_errorgrub_printfgrub_printf_grub_printf_fmt_checkgrub_puts_grub_real_dprintfgrub_reallocgrub_rebootgrub_refreshgrub_register_command_lockdowngrub_register_command_priogrub_register_variable_hookgrub_snprintfgrub_strchrgrub_strcmpgrub_strcpygrub_strdupgrub_strlengrub_strncmpgrub_strndupgrub_strrchrgrub_strtoulgrub_strtoullgrub_strwordgrub_term_highlight_colorgrub_term_inputsgrub_term_inputs_disabledgrub_term_normal_colorgrub_term_outputsgrub_term_outputs_disabledgrub_term_poll_usbgrub_tsc_rategrub_unregister_commandgrub_utf8_to_utf16_allocgrub_verify_stringgrub_vprintfgrub_vsnprintfgrub_xasprintfgrub_xputsgrub_xvasprintfgrub_zallocmemcmpmemcpymemmovememset8. ![NYd9ir;qh"<0--'?MnW ?m9ir;1?ir;w/.LVIC!aʓ +|kkP]`FC=݋#yxT݉'"$\'"${  } {  "     }p4ubwF%DvV DMpLW$k## -,/,` &K46@ I 4`"4yX P K;47H c H#?<Y=H=Z=i=wk{wg&Y4ru9Ċ Jy(09@Sj8|H('Л '2֞B/N(U'\'d(LICENSE=GPLv3+LICENSE=GPLv3+mimg?ELF>H@@ HUHAUIATISQHu IT$LhXHID$1Z[A\A]]UHATISH_HHGHCH;GtHAHL[A\]UHATISHH{tHA[A\]UHAWIAVIAUATISLHHHuHM11LHEU@@ HUHPHHH8H1]UHAWAVAUATSHH(L?G*HG0AE1HEIfA<$ ID$ 1fA|$At$9~HyLk G;4rHQuHLE16HcHk HPDhH I Mu"AGH HIHtCAGLLEIXH HHHH1LEuM!HLHLk HyFL9rH9qt/HcE1Hk HȋH)HH9s5Dh@I II!H1 HIL9eHLH w Dl0AWH J H9sG`E1SHH)HH9s GdA9HH)HH9s GhAH 1HmDbzEIE}E΋u̅DHDMDIXLEHMHcH!HHADMtIAE)AuDmH(L[A\A]A^A_]UIHHHXHASjRRPtDX H L RHRHHHAQMILHOIIHwXHHW`HPHhUHAWD~AVDAUATI1SHHHDPw(DHO IHHHcL!C`taH9rVD)HH֋S HCdt@Hv:Ht5II9r&IMkL9sIOL9sH IH9sH‹sOLEIHXIHHH@AAEuuDCAH {LtKX1Ds(11҉lj}P~ uH H AHMHHXH湀AօtAEHH[A\A]A^A_]HUHAUATISQHeI1HùPILHA}f{8Su/Kw'{(t!{LCXft 9s HC`)t"H 1Ht5fft)ƍxuftщ9uPHpHLXHHHHhH`A}t5A} uH 1HHH1ZH[A\A]]HUHAUIATISQHI}HHH1HtC0I$I}HHHСZ[A\A]]HUHAUIATISRHI}HHH1HtqDKpfDCnHIKlfSjshPfAfAfCvEEfPCtPfCrP1AH I$I}HHHСHe[A\A]]HUHAUIATISQHI}HHH1HtH{xHI$I}HHHСZ[A\A]]UHAWAVAUATSHH(HHt=IDc(AH1HHWHH?H8toE11AILLHAA>>f0uAD;c rDEt11IMHLAA>HIHH;H8Ƅt#1A<ua<uVJHIUA>tHLTADžAEf%f=@tf=tf=@@HHLHЅ1H([A\A]A^A_]U1HAVAUIATISHH HU1I<$HEHHMHUI}HIHHEtSHhHUAHIIHLA}uH}HUHAHEH}HHhH9tH}I<$HAEH [A\A]A^]HU1HAWIAVIAUIATSHH(HUI?IEH8HIHHhHEuHHHuHUAIHHЉÅHEȃt0Huȋ^(tBH1H҉jHPLHЉÅtIHI$`HH}AI$`BlRMePH H IE@1IE)H}I$hH9tALAI?HH([A\A]A^A_]UHATSHuPHWHH?H8u#C)t"H1HE1|H{ HIHtDC A;wHs0LLH8111MHHH8tHL뇋C AL[A\]HUHAWA1AVLuAUILATISHӺH(Ѓt CMHEKI|$HSHH8u ǃH1҃uEAHƒ ЈEHIT$LLA$H([A\A]A^A_]HUHSHHPHHHZ[]HHinvalid extentsomething wrong with extentext2fs doesn't support quadruple indirect blocksnot an ext2 filesystemfilesystem has unsupported incompatible features%04x%04x-%04x-%04x-%04x-%04x%04x%04xdirectory is encryptedfile is encryptedsymlink is encryptedext2LICENSE=GPLv3+fshelpext2:03BO^jugrub_mod_initgrub_mod_finigrub_fshelp_find_filegrub_xasprintfgrub_memmovegrub_disk_readgrub_dl_refgrub_errnogrub_memsetgrub_fshelp_read_filegrub_fs_listgrub_mallocgrub_errorgrub_list_removegrub_freegrub_strndupgrub_dl_unrefgrub_list_push#  DSU+f~ 61GnK \ 7 I \s;c\t   &Cbl  .Map{    2   /      " , 8 6 T i        / 8 9 C u      W f  {       ! }   $2<  (^08@H.symtab.strtab.shstrtab.rela.text.rodata.str1.1.rela.data.module_license.bss.moddeps.modname @F@8 &2 :P 5@ @PU^(  8gx ELF>0 @@ UHAWAVLIAUIATSHHH1H1Aօ8f}UHH;tHuHI11LLM\HcA։ÅLLHЅuHLHHЅDHAuIE1AD;DaLPIcLLHLPtH$]1E1E1HHHIALgxPfrģJ٤ #-:^mХ;KUi~˦ۦ2>c5O(Ks}Ԫު:KWapΫݫ"3J^qì(7Vetʭ(8BLVeo|ҮޮMnƯp 8JwРGUyɡ<\ixƢ#?Lfxʣܣ(;Qakwɤפ(9^EQiuߦCSߧ 4kuGfת:Kbūϫޫ(2CMWt~Ϭ#0Zk˭߭1ex '1AQaq}ŠӠݠJTis¡̡֡$9CMdu̢~ˣܣ!.@\nԤ+P'1Ecmy٦zҧܧ&0@QlШܨ'4O[mwĩΩSa@Ѭ׭ +LVY&[eҢ-ggWާ$iɪҫB]vQkyĭUiخ >`>>> ? ?`??? @ @`@@@ A A`AAA B B`BBB C C`CCC D D`DDD E E`EEE F F`FFF G G`GGG H H`HHH I I`III J J`JJJ K K`KKK L L`LLL M M`MMM N N`NNN O O`OOO P P`PPP Q Q`QQQ R R`RRR S S`SSS T T`TTT U U`UUU V V`VVV W W`WWW X X`XXX Y Y`YYY Z Z`ZZZ [ [`[[[ \ \`\\\ ] ]`]]] ^ ^`^^^ _ _`___ ` ````` a a`aaa b b`bbb c c`ccc d d`ddd e e`eee f f`fff g g`ggg h h`hhh i i`iii j j`jjj k k`kkk l l`lll m m`mmm n n`nnn o o`ooo p p`ppp q q`qqq r r`rrr s s`sss t t`ttt u u`uuu v v`vvv w w`www x x`xxx y y`yyy z z`zzz { {`{{{ | |`||| } }`}}} ~ ~`~~~  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `   `à  `Ġ  `Š  `Ơ  `Ǡ  `Ƞ  `ɠ  `ʠ  `ˠ  `̠  `͠  `Π  `Ϡ  `Р  `Ѡ  `Ҡ  `Ӡ  `Ԡ  `ՠ  `֠  `נ  `ؠ  `٠  `ڠ  `۠  `ܠ  `ݠ  `ޠ  `ߠ  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  `  ` !a!!a!!a!???????????C|gC|gC|gAR|gG|gG|g 0 IkC|gvD إ0C|gC|gC|g  C|g@C|gC|gC|g  & C|gBA0n|gC|gC|g   *dHC|gAm|gl|gl|g  k$jr dHdHprD|gpAn|gD|gD|g ls&>F prprH{D|gprA n|gn|gn|g  : 5w5w4[D|gAn|g`|g`|g v W((D|gD|gD|gD|g  &> 'CD|gAV|gG|gG|g yӀ @ff6D|gG|gD|gErg &6 *fD|gG|gD|gErg &Ugp2 fD|gG|gD|gErg &<V QfD|g D|gD|gErg &.; /fD|g G|gD|gErg &?? fD|gCn|gl|gl|g  D|gAn|gG|gG|g ˒0f *u*uD|g!D|gD|gD|g֔x1# D|g!D|gD|gD|g*TI ɾD|g!D|gD|gD|g~3iVm ːD|g!D|gD|gD|g jzC D|g!D|gD|gD|gӣ D|gAn|gJ|gJ|g k[8 v jajaD|gAn|gF|gF|g S?D 5D|gAn|g`|g`|g " T*T*D|gAn|gG|gG|g  XK9m 99dHD|gAn|gD|gD|g T4d Q!dHD|gAn|gD|gD|g tWB8 :tD|gAn|gD|gD|g  dHD|g`|g`|g`|gD "^LM T*T*T*`|gT*`|g`|g`|g M| #T*T*T*`|gT*D|gD|gD|g ͺ LD|g\|gD|gD|g &) b6D|gmAn|gD|gD|g AW sD|gn|gn|gn|g  Ռ {ZbZbZbn|gZb G|gG|gG|g/bin/busybox< NNG|gN xgF|gxg &t(pk, hlF|glOxgF|gxg &P@,Y lF|gln|gn|gn|g  G҃ '''n|g'xgF|gxg &a?/ lF|glF|gF|gF|g../proc/mountsf illlF|glxgF|gxg &Ϣ]~D? tlF|gln|gn|gn|gn|g* %A 5w5wn|gn|gn|gn|g/etc/init.d/devfs ٌn|gH xgF|gxg & LUh }lF|gl 2xgF|gxg  &/ixn jglF|glEfn|gH|gH|gg m N dHH|g&xgF|gxg ,&* plF|gl5xgF|gxg -&!,& 7lF|glh F|gF|g3/Og "}7 m F|gzR|gF|gF|gld-musl-x86_64.so.1rk)L 2roF|gAn|gN|gN|gz Ҡt MyyyF|gW F|gF|g\g, 09Gs p F|gAn|gF|gF|g 2$B9 NF|gXX\gF|g\g .&M؞h HeF|gXXAn|gH|gH|g RP o F|gXX\gF|g\g 2&d0 hF|gXXAn|gn|gn|g ɶ|9. F|gXXAn|gF|gF|g u}, " XXXXF|gXXAn|gF|gF|g  k?* 6XXXXF|gXXAn|gF|gF|g  #$ XXXXF|gXXAn|gF|gF|g  9 VtXXXXF|gXXAn|gF|gF|g  `qk r6XXXXF|gXXAn|gF|gF|g  :K= :]F|gXX\gF|g\g 3&s F|gXX\gF|g\g 4&h} +F|gXXAn|gF|gF|g {A$u 4[F|gXX\gF|g\g 5&k7 jF|gAn|gN|gN|g K? k 99F|gAR|gG|gG|g ^F %&%&IkF|gAn|g_|g_|g  h͠) bԀԀF|gAn|g_|g_|g  \o vzz\~F|gAn|gF|gF|g #Y4 ۖ\~F|gh\gF|g\g 6&yXkn; F|gAn|g\|g\|g –bV ~_@~_@F|gAn|gG|gG|g  FP j*u*uG|g*uAn|g_|g_|g  \4<%5 ԀԀH{F|g F|gF|gF|g/bin/busybox|o5] DDDF|gD F|gF|gF|g/bin/busyboxƃ_ jDDDF|gD F|gF|gF|g/bin/busybox|_ DDDF|gD F|gF|gF|g/bin/busyboxt |DDDF|gD F|gF|gF|g/bin/busybox!t /DDF|gD G|gF|gF|g/bin/busyboxRt wQDDF|gD F|gF|gF|g/bin/busyboxU6%c GDDDF|gD F|gF|gF|g/bin/busyboxf6 "DDDF|gD F|gF|gF|g/bin/busybox}ͪB DDDF|gD F|gF|gF|g/bin/busybox!15 DDDF|gD F|gF|gF|g/bin/busybox4ew( DDDF|gD T|gF|gF|g/bin/busyboxҽgY DDF|gD F|gF|gF|g/bin/busyboxЛܯ =QDDDF|gD m|gF|gF|g/bin/busyboxKz XDD%&F|gD F|gF|gF|g/bin/busybox9Wa DDDF|gD F|gF|gF|g/bin/busyboxc c(DDDF|gD F|gF|gF|g/bin/busyboxA| zDDDF|gD F|gF|gF|g/bin/busybox DDDF|gD F|gF|gF|g/bin/busyboxvy7" DDDF|gD F|gF|gF|g/bin/busyboxWJ zDDDF|gD F|gF|gF|g/bin/busyboxoz ^ ͋DDDF|gD F|gF|gF|g/bin/busybox,܃ ODDDF|gD F|gF|gF|g/bin/busyboxl~'* ?fDDDF|gD F|gF|gF|g/bin/busyboxJh) L DDDF|gD F|gF|gF|g/bin/busyboxY[3 DDDF|gD F|gF|gF|g/bin/busyboxR! DDDF|gD F|gF|gF|g/bin/busybox_]| _DDDF|gD F|gF|gF|g/bin/busyboxܩ` yDDDF|gD T|gF|gF|g/bin/busyboxyY c[DD F|gD R|gF|gF|g/bin/busybox`"3 sDD"dF|gD F|gF|gF|g/bin/busyboxqF( PDDDF|gD N|gN|gN|g/bin/bbsuidSD B-yyyN|gy F|gF|gF|g/bin/busybox) ? DDDF|gD m|gF|gF|g/bin/busybox-/ [DD\F|gD F|gF|gF|g/bin/busybox mDDDF|gD F|gF|gF|g/bin/busybox;_l, _DDDF|gD F|gF|gF|g/bin/busybox=n DDDF|gD F|gF|gF|g/bin/busybox؋= DDDF|gD F|gF|gF|g/bin/busyboxn? DDDF|gD F|gF|gF|g/bin/busyboxu1 ϏDDDF|gD&R|gI|g*c  M+";uG IkI|g F|gF|gF|g/bin/busybox`@c rDDDF|gD F|gF|gF|g/bin/busybox\O DDDF|gD m|gF|gF|g/bin/busybox^U} DDyF|gD F|gF|gF|g/bin/busyboxWF= {VDDDF|gD F|gF|gF|g/bin/busybox۝r$ DDDF|gD F|gF|gF|g/bin/busybox DDDF|gD F|gF|gF|g/bin/busyboxD{ DDDF|gD F|gF|gF|g/bin/busybox.K! DDDF|gD n|gF|gF|g/bin/busyboxw8= \DD'F|gD F|gF|gF|g/bin/busyboxC DDDF|gD F|gF|gF|g/bin/busyboxCFR[ gDDDF|gD F|gF|gF|g/bin/busyboxc. czDDDF|gD F|gF|gF|g/bin/busyboxF 4DDDF|gD F|gF|gF|g/bin/busybox WDDDF|gD F|gF|gF|g/bin/busyboxq( qDDDF|gD F|gF|gF|g/bin/busybox, T aDDDF|gD F|gF|gF|g/bin/busyboxnq DDDF|gD F|gF|gF|g/bin/busybox&R 1 DDDF|gD F|gF|gF|g/bin/busybox5f RDDDF|gD F|gF|gF|g/bin/busybox&Iv# GDDDF|gD F|gF|gF|g/bin/busyboxSB DDDF|gD F|gF|gF|g/bin/busyboxaT eDDDF|gD F|gF|gF|g/bin/busyboxSG DDDF|gD F|gF|gF|g/bin/busybox0R' *DDDF|gD R|gF|gF|g/bin/busyboxFOIy DDfF|gD F|gF|gF|g/bin/busyboxh JDDDF|gD F|gF|gF|g/bin/busyboxZ]\ DDDF|gD F|gF|gF|g/bin/busyboxn DDDF|gD F|gF|gF|g/bin/busybox DDDF|gD F|gF|gF|g/bin/busybox_ DDDF|gD F|gF|gF|g/bin/busybox86"Fe DDDF|gD F|gF|gF|g/bin/busybox ӍDDDF|gD F|gF|gF|g/bin/busyboxP ADDDF|gD R|gF|gF|g/bin/busybox 7 &DDIkF|gD F|gF|gF|g/bin/busybox\ko oDDDF|gD I|gF|gF|g/bin/busybox) F DD2$EF|gD F|gF|gF|g/bin/busyboxEgZ /DDDF|gD F|gF|gF|g/bin/busybox` eDDDF|gD V|gF|gF|g/bin/busybox? ODDʚ;F|gD F|gF|gF|g/bin/busybox>{ JDDDF|gD F|gF|gF|g/bin/busyboxH`_ &DDDF|gD F|gF|gF|g/bin/busyboxuf HDDDF|gD F|gF|gF|g/bin/busyboxPY@ DDDF|gD F|gF|gF|g/bin/busyboxE[ P[DDDF|gD F|gF|gF|g/bin/busybox8'H Z`DDDF|gD F|gF|gF|g/bin/busybox #{ LpDDDF|gD m|gF|gF|g/bin/busyboxJh DD(F|gD F|gF|gF|g/bin/busyboxL HDDDF|gDG|gG|gG|glibcap.so.2.71-#E T*T*T*G|gT* F|gF|gF|g/bin/busyboxS) DDDF|gD0S;gG|gS;gD "4[% 5 T*G|gT* F|gF|gF|g/bin/busyboxs)a DDDF|gD F|gF|gF|g/bin/busyboxXyg 4DDDF|gD@S|gI|g@gN 'z$B-d N`! I|g T|gF|gF|g/bin/busybox]9n @DDF|gD F|gF|gF|g/bin/busybox3a UDDDF|gD F|gF|gF|g/bin/busybox%*\ DDDF|gD F|gF|gF|g/bin/busyboxSRklH v-DDDF|gD F|gF|gF|g/bin/busyboxvܮ @DDDF|gD F|gF|gF|g/bin/busyboxۋ ?DDDF|gD F|gF|gF|g/bin/busyboxc= =DDDF|gD F|gF|gF|g/bin/busybox4v3 TDDDF|gD F|gF|gF|g/bin/busyboxe  /DDDF|gD F|gF|gF|g/bin/busyboxA dKDDDF|gD F|gF|gF|g/bin/busyboxC DDDF|gD F|gF|gF|g/bin/busyboxh WDDDF|gD F|gF|gF|g/bin/busybox#j 3bDDDF|gD F|gF|gF|g/bin/busybox;I .DDDF|gD F|gF|gF|g/bin/busybox rDDDF|gD F|gF|gF|g/bin/busyboxn DDDF|gD F|gF|gF|g/bin/busybox DDDF|gD F|gF|gF|g/bin/busyboxľ /DDDF|gD F|gF|gF|g/bin/busybox DDDF|gD F|gF|gF|g/bin/busybox0wn qDDDF|gD F|gF|gF|g/bin/busyboxH{RK 5DDDF|gD F|gF|gF|g/bin/busybox3 1DDDF|gD F|gF|gF|g/bin/busyboxKJ y4DDDF|gD \|gF|gF|g/bin/busyboxޓ,> A.DDp89F|gD F|gF|gF|g/bin/busyboxG6ck 8+DDDF|gD F|gF|gF|g/bin/busyboxiiֳI DDDF|gD n|gF|gF|g/bin/busybox] DD\ZF|gD F|gF|gF|g/bin/busybox)Q: >DDDF|gD F|gF|gF|g/bin/busybox;*۲ DDDF|gD F|gF|gF|g/bin/busybox0IB DDDF|gD F|gF|gF|g/bin/busybox\| NDDDF|gD F|gF|gF|g/bin/busyboxԪr[D DDDF|gDS|gI|gI|glibjson-c.so.5.4.0bs3N %&%&fI|g%& F|gF|gF|g/bin/busybox;r(ӛ DDDF|gD F|gF|gF|g/bin/busyboxC ޠDDDF|gD F|gF|gF|g/bin/busybox5 DDDF|gD F|gF|gF|g/bin/busyboxP(Vo DDDF|gD F|gF|gF|g/bin/busyboxcoZ9 LDDDF|gD F|gF|gF|g/bin/busybox1 \ DDDF|gD F|gF|gF|g/bin/busybox$H DDDF|gD F|gF|gF|g/bin/busyboxP=e bDDDF|gD F|gF|gF|g/bin/busyboxH DXDDDF|gD F|gF|gF|g/bin/busybox ]DDDF|gD F|gF|gF|g/bin/busybox&$ xDDDF|gD R|gF|gF|g/bin/busyboxLE: :DD^_F|gD( :fH|g :fF #b.R H|g F|gF|gF|g/bin/busyboxY1D |DDDF|gDS|gH|gH|glibeconf.so.0.6.2kXiR 8nH|g F|gF|gF|g/bin/busyboxOK DDDF|gD F|gF|gF|g/bin/busyboxfb 4DDDF|gD F|gF|gF|g/bin/busybox A dDDDF|gD R|gF|gF|g/bin/busybox϶x  DD\F|gDXS|gI|gg~ ?n/lw\ M%&I|g%&An|gI|gI|g dZ T*T*dHI|gT* F|gF|gF|g/bin/busyboxߡwh tttF|gtM|gM|gM|glibnvme-mi.so.1.11.1WTY NNNM|gN F|gF|gF|g/bin/busyboxL l TtttF|gt F|gF|gF|g/bin/busyboxt $0tttF|gt F|gF|gF|g/bin/busybox3} wtttF|gt F|gF|gF|g/bin/busybox[Pf) tttF|gt F|gF|gF|g/bin/busyboxn9U mtttF|gt F|gF|gF|g/bin/busybox2VZ`F _tttF|gt F|gF|gF|g/bin/busyboxpc3 xtttF|gt F|gF|gF|g/bin/busybox) OtttF|gt F|gF|gF|g/bin/busyboxx)9 ƹtttF|gt F|gF|gF|g/bin/busybox h tttF|gt F|gF|gF|g/bin/busybox%b tttF|gt F|gF|gF|g/bin/busybox O0tttF|gt F|gF|gF|g/bin/busyboxP֭ ztttF|gt F|gF|gF|g/bin/busybox9@@\ tttF|gt F|gF|gF|g/bin/busybox\/ tttF|gt F|gF|gF|g/bin/busybox*5wB tttF|gt F|gF|gF|g/bin/busyboxF qtttF|gt F|gF|gF|g/bin/busybox tttF|gt F|gF|gF|g/bin/busybox( tttF|gt F|gF|gF|g/bin/busyboxÎC% tttF|gt F|gF|gF|g/bin/busyboxTj tttF|gt n|gN|gN|g/bin/bbsuidu[ 9yy N|gy F|gF|gF|g/bin/busybox’xs: ctttF|gt F|gF|gF|g/bin/busybox-u [tttF|gt F|gF|gF|g/bin/busybox_7j $tttF|gt F|gF|gF|g/bin/busyboxW& tttF|gt F|gF|gF|g/bin/busybox[T_ tttF|gt F|gF|gF|g/bin/busybox܍N tttF|gt F|gF|gF|g/bin/busyboxEn ~tttF|gt F|gF|gF|g/bin/busyboxaQS ]tttF|gt F|gF|gF|g/bin/busyboxZI q6 o=tttF|gt F|gF|gF|g/bin/busybox6ď tttF|gt F|gF|gF|g/bin/busybox tttF|gt F|gF|gF|g/bin/busybox"+u #tttF|gt F|gF|gF|g/bin/busyboxHG ) DtttF|gt F|gF|gF|g/bin/busybox(G׻4 1tttF|gt F|gF|gF|g/bin/busybox,‚wQ tttF|gt F|gF|gF|g/bin/busyboxFp$f 79tttF|gt F|gF|gF|g/bin/busyboxsY m -tttF|gt F|gF|gF|g/bin/busyboxd AUtttF|gt F|gF|gF|g/bin/busyboxo0 07tttF|gt F|gF|gF|g/bin/busybox$o ltttF|gt F|gF|gF|g/bin/busybox xo tttF|gt G|gF|gF|g/bin/busybox:Q#!s tt8F|gt F|gF|gF|g/bin/busyboxp gtttF|gt F|gF|gF|g/bin/busyboxL+| tttF|gt F|gF|gF|g/bin/busyboxю *tttF|gt F|gF|gF|g/bin/busybox{k=I0 "tttF|gt F|gF|gF|g/bin/busybox\[r tttF|gt F|gF|gF|g/bin/busyboxE˳ #\tttF|gt F|gF|gF|g/bin/busyboxف = =tttF|gt F|gF|gF|g/bin/busyboxCN 3F|g F|gF|gF|g/bin/busyboxv# IF|g R|gF|gF|g/bin/busyboxC Tw\F|g F|gF|gF|g/bin/busyboxM]<ȵ F|gS|gI|gI|glibcryptsetup.so.12.10.0,~V W/L-J1I|gL- F|gF|gF|g/bin/busybox;OCf ]-F|g F|gF|gF|g/bin/busyboxaL/ AF|g R|gF|gF|g/bin/busyboxnl jaF|g F|gF|gF|g/bin/busybox()eD *F|g F|gF|gF|g/bin/busybox ` sF|g F|gF|gF|g/bin/busyboxs 5F|g F|gF|gF|g/bin/busyboxOQr F|g F|gF|gF|g/bin/busyboxf4 #SF|g F|gF|gF|g/bin/busyboxuUY 0eF|g F|gF|gF|g/bin/busybox4 XF|g F|gF|gF|g/bin/busybox2ZB "zF|g F|gF|gF|g/bin/busyboxc-gyp 4F|gAn|gG|gG|g 8 4p*u*uG|g*u F|gF|gF|g/bin/busybox4}n1 F|g F|gF|gF|g/bin/busybox Uʮ CmF|g F|gF|gF|g/bin/busyboxjtI UKF|g F|gF|gF|g/bin/busyboxmα' F|g F|gF|gF|g/bin/busybox]Ti n{F|g F|gF|gF|g/bin/busyboxh `xF|g F|gF|gF|g/bin/busyboxHQO F|g F|gF|gF|g/bin/busyboxr8) F|g F|gF|gF|g/bin/busyboxnC2` F|g R|gF|gF|g/bin/busybox|' bjaF|g F|gF|gF|g/bin/busyboxڣ ]KF|g F|gF|gF|g/bin/busybox%l F|g R|gF|gF|g/bin/busyboxi[d- 2prF|g F|gF|gF|g/bin/busyboxi9K xF|g N|gN|gN|g/bin/bbsuidnd QyyyN|gy F|gF|gF|g/bin/busyboxK& F|g F|gF|gF|g/bin/busyboxnpoX, WF|g F|gF|gF|g/bin/busyboxE& {F|g F|gF|gF|g/bin/busybox[ F|g \|gF|gF|g/bin/busyboxX p89F|g F|gF|gF|g/bin/busyboxRRM QF|g F|gF|gF|g/bin/busybox=p F|g F|gF|gF|g/bin/busyboxSp - F|g m|gF|gF|g/bin/busybox|3B dfF|g F|gF|gF|g/bin/busybox'J +F|g F|gF|gF|g/bin/busyboxtS F|g F|gF|gF|g/bin/busyboxV F|g F|gF|gF|g/bin/busyboxf7Z NF|g F|gF|gF|g/bin/busybox۴&6 tF|g F|gF|gF|g/bin/busyboxXւ, AF|g F|gF|gF|g/bin/busyboxSa4 -F|g R|gF|gF|g/bin/busybox} >:tF|g N|gN|gN|g/bin/bbsuid̵O* yyyN|gy N|gN|gN|g/bin/bbsuid ޳ yyyN|gy F|gF|gF|g/bin/busyboxt1u 2dF|g F|gF|gF|g/bin/busyboxbm. w}F|g F|gF|gF|g/bin/busyboxs{={ F|g F|gF|gF|g/bin/busyboxѫEp) @F|g F|gF|gF|g/bin/busybox8(^O F|g F|gF|gF|g/bin/busyboxgQ F|g F|gF|gF|g/bin/busybox?jxP ,!F|g F|gF|gF|g/bin/busybox~\j zF|g N|gN|gN|g/bin/bbsuid*xt1 yyyN|gy m|gF|gF|g/bin/busyboxj6# $prF|g F|gF|gF|g/bin/busyboxbv* F|g F|gF|gF|g/bin/busyboxS, OF|g F|gF|gF|g/bin/busybox:/D QF|g F|gF|gF|g/bin/busybox>A7* F|g F|gF|gF|g/bin/busybox F|g F|gF|gF|g/bin/busybox1Ȣ YF|g F|gF|gF|g/bin/busyboxP F|g F|gF|gF|g/bin/busyboxi6| F|g F|gF|gF|g/bin/busyboxWi в F|g F|gF|gF|g/bin/busybox+R `F|g F|gF|gF|g/bin/busybox=* IF|g F|gF|gF|g/bin/busybox'0zV _F|g F|gF|gF|g/bin/busybox\ QF|g F|gF|gF|g/bin/busyboxQ2 F|g F|gF|gF|g/bin/busybox/Em F|g N|gN|gN|g/bin/bbsuid'Êe `MyyyN|gy F|gF|gF|g/bin/busybox% 1F|g F|gF|gF|g/bin/busyboxHXl yF|g F|gF|gF|g/bin/busyboxe ,F|g F|gF|gF|g/bin/busyboxJR kF|g F|gF|gF|g/bin/busybox ta F|g R|gF|gF|g/bin/busyboxg6 ,mF|g F|gF|gF|g/bin/busyboxf] F|g F|gF|gF|g/bin/busybox&-e sF|g F|gF|gF|g/bin/busybox5-& AF|g F|gF|gF|g/bin/busybox KŊ F|g F|gF|gF|g/bin/busyboxGK F|g F|gF|gF|g/bin/busybox<~t F|g F|gF|gF|g/bin/busyboxk }F|g F|gF|gF|g/bin/busyboxi F|g F|gF|gF|g/bin/busyboxlV zF|gn|gn|gn|g <R 999\n|g9#n|gn|gn|g ٣VY I999n|g9En|gn|gn|g &[f ]*u*u4[n|g*uEen|gH|gH|gf $;m& WV!V!dHH|gV!An|gG|gG|g w) 99G|g*uxgG|gxg :& g9G|g*uAR|gG|gG|g <A l99"dG|g*u S|gG|gxg ;&d 9xhG|g*uXS|gG|gxg =&sY :e9:tG|g*uzS|gG|gxg @&4# 9G|g*u[S|gG|gxg A&zj 9 p9G|g*uAn|gG|gG|g hȖ By*u*uG|g*u~xgn|gn|g VB 88G|g*uAn|gG|gG|g  VaD Ѣ*u*uG|g*uAn|gG|gG|g !>_ X*u*uG|g*uAn|gG|gG|g "[8 ?*u*uG|g*uAn|gG|gG|g #  Uj*u*uG|g*uAn|gG|gG|g $.%U _*u*uG|g*uAn|gG|gG|g %E *u*uG|g*uAn|gG|gG|g &sG6 !t*u*uG|g*uAn|gG|gG|g 'ˊ-h 99G|g*uaxgG|gxg C&ou# U9G|gxgG|gxg D&`Ga 9G|gxgG|gxg E&- ^9G|gAn|gG|gG|g (T &BBG|gAn|gn|gn|g )EU/ *u*u4[G|gAn|gG|gG|g *Q4 #wG|gAn|gG|gG|g +nx:4G6 }4[G|gAn|gG|gG|g ,6F* 4[G|gAn|gG|gG|g -Л |G|gAn|gG|gG|g .BK oG|gAn|gG|gG|g /|XO G|gAn|gG|gG|g 0i G|gAn|gG|gG|g 1G)a |G|gAn|gG|gG|g 2~,} y4[G|gAn|gG|gG|g 3:N yG|gAn|gG|gG|g 4!|8a H{G|gAn|gG|gG|g 5?!L ;*H{G|gAn|gG|gG|g 6ĢPD /4[G|gAn|gG|gG|g 7P9v PG|gAn|g_|g_|g  8_4Hc ZG|gAn|gG|gG|g 9;q dHG|gAn|gG|gG|g :F + 999G|gxgG|gxg F&a k9G|gAR|gG|gG|g ;D IkG|gAn|gG|gG|g <J ;OdHG|gAn|gG|gG|g =[ !dHG|gAn|gG|gG|g >ۣ KdHG|gAn|gG|gG|g ?\p i\~G|gAn|gG|gG|g @1 \~G|gmAn|gG|gG|g A+{Ԕ MdHG|gAn|gn|gn|g BVK 7X7XdHG|gAn|gG|gG|g C2= MdHG|gAn|gG|gG|g D5#9P JG|g G|gG|gG|g../run/lockn@} y9G|gAn|gH|gH|g EU 5nV!V!dHG|gAn|gG|gG|g FD dHG|gAn|gG|gG|g G)6 udHG|gH|gG|gG|g../run~B 9H{G|gAn|gG|gG|g HaA" m99dHG|gAn|gG|gG|g I@3kh 99dHG|gG|gG|gG|g../../../etc/crontabs;e1- O9G|gG|gG|gG|g../mailc0O x9G|gCn|gG|gG|g J+ Y8 dHG|gG|gG|gG|g/sbin/ifupdownܠ %&%&%&G|g%&G|gG|gG|g/sbin/ifupdownme, ,%&%&%&G|g%&G|gG|gG|g/sbin/ifupdownZ %&%&%&G|g%&G|gG|gG|g/sbin/ifupdowns] _%&%&%&G|g%&G|gG|gG|g/sbin/ifupdown9 ]\%&%&%&G|g%&(gkrfG|ggkrf Aa4ɾHN %&G|g%&An|gH|gH|g MGs# NNV!G|g%&An|gG|gG|g N6k& ~((V!G|g%&gkrfG|ggkrf H&^4q ^%&G|g%&ugkrfG|ggkrf I&V0c %&G|g%&gkrfG|ggkrf J&d T%&G|g%&gkrfG|ggkrf L&~ &%&G|g%&gkrfG|ggkrf M&$%x %&G|g%& gkrfG|ggkrf N&I.= lB%&G|g%&6gkrfG|ggkrf Q&`jT n(G|g%&G|gG|gG|glibpsx.so.2.71 z &nT*T*T*G|gT*FS;gG|gS;g$ 4yI T*G|gT*W^gG|g^g, 4b ~_@G|gs4A n|gM|gM|gO OTt" ԀԀG|gs4^gG|g^g S&") |~_@G|gs4'^gG|g^g T&Q ~_@G|gs4\^gG|g^g U&K&:E oBG|gs4u^gG|g^g V&2bFI BG|gs4:^gG|g^g W& zEBG|gs4Y^gG|g^g Y&#.A ~BG|gs4^gG|g^g Z& c WBG|gs4^gG|g^g [&{ BG|gs4)^gG|g^g \&A& BG|gs4{^gG|g^g ]&5?Xǂ BG|gs4^gG|g^g ^&" RBG|gs4^gG|g^g _&V G2 BG|gs4@^gG|g^g `&ԕ+ SZBG|gs4y^gG|g^g b&!N BG|gs4^gG|g^g c&@C(? 2<BG|gs4^gG|g^g d&B۵X+ bvBG|gs4Y^gG|g^g e&__ BG|gs4An|gN|gN|g  RQ>R ʚ;ʚ;G|gs4*^gG|g^g f&'ttt [ BG|gs4^gG|g^g  g&Ұ_' KBG|gs4~^gG|g^g m& <BG|gs4^gG|g^g q&D/N0 tBG|gs4^gG|g^g s&R &O xBG|gs4^gG|g^g w&/ls CBG|gs4^gG|g^g x&4Z S7BG|gs4 ^gG|g^g y& fBG|gs4G|gG|gG|g/usr/libexec/rc/sh/functions.shq }Bs4s4G|gs4_^gG|g^g }& f BG|gs4 ^gG|g^g ~&Ub #BG|gs44^gG|g^g &Uy4 BG|gs4J^gG|g^g &p NBG|gs4 ^gG|g^g &H$ <BG|gs4y^gG|g^g &x 6BG|gs4^gG|g^g &~ BG|g6k^gG|g^g &^ lBG|g6^gG|g^g &^ `BG|g6^gG|g^g &y BG|g6$^gG|g^g &G, mBG|g6^gG|g^g &E:9 z BG|g6^gG|g^g &Ѥ6 ٓBG|g6^gG|g^g &ʃ7 0BG|g66^gG|g^g &֮X BG|g6^gG|g^g &IH& 7BG|g6^gG|g^g &-5( fBG|g6^gG|g^g &yuT { BG|g6^gG|g^g &&L BG|g6^^gG|g^g &ݏ #BG|g6\^gG|g^g &':5 BG|g6g^gG|g^g & EBG|g6^gG|g^g &c>l BG|g6g^gG|g^g &W BG|g6^gG|g^g &"< BG|g6^gG|g^g &a~ (BG|g6^gG|g^g & |s ]|BG|g6*^gG|g^g &/ +KBG|g6#^gG|g^g &@Q 7BG|g6 ^gG|g^g &[# BG|g6^gG|g^g &חW BG|g6^gG|g^g &ؙ 2BG|g6An|gG|gG|g Wl] &dBBG|g6^gG|g^g &#/d 2BG|g6+^gG|g^g &J -BG|g64^gG|g^g  &K [~_@G|g6An|gG|gG|g X0X]d 6.667XG|g6An|gn|gn|g Yc \\G|g6An|gn|gn|g Z,~ "d"dG|g6An|gG|gG|g [l h66\ZG|g6An|gn|gn|g \#s w2$E2$E\ZG|g6An|gn|gn|g ]4UA 00F#F#7XG|g6^gG|g^g &o| osBG|g6@7^gG|g^g &99h BG|g6^gG|g^gL &4lÇ BG|gp89^gG|g^gL &5T! BG|gp897^gG|g^g &]Py $BG|gp89'^gG|g^g  &YD " S BG|gp89Gn|gG|g^g$ 85A BG|gp89 G|gG|gG|grc-service:'F\ Bp89p89G|gp89^gG|g^gL &J5` BG|gp89^gG|g^gL &p5u1 7* 'BG|gʚ;fn|gG|g^g4 5C# BG|gʚ;n|gG|g^gl 65~ BG|gʚ;An|gG|gG|g ^Mf+o vBBV!G|gʚ;An|gG|gG|g  _\9=[ 2$E2$EV!G|gʚ;W^gG|g^g, 5S+; FBG|gʚ;x8^gG|g^g &&*B ,BG|gʚ;p8^gG|g^g 'Wq BG|gʚ;x8^gG|g^g 'e yBG|gʚ;x8^gG|g^g '  5BG|gʚ;x8^gG|g^g -'*z  BG|gʚ;p8^gG|g^g <'. 9BG|gʚ;x8^gG|g^g K'*0G `%BG|gʚ;x8^gG|g^g Z'W>B BG|gʚ;x8^gG|g^g i'zU>) BG|gʚ;x8^gG|g^g x'f OBG|gʚ;x8^gG|g^g 'H FBG|gʚ;p8^gG|g^g 'Ee BG|gʚ;x8^gG|g^g '&%V0 BG|gʚ;p8^gG|g^g 'Iٻ^ clBG|gʚ;7^gG|g^g 'pq %BG|gʚ;H7^gG|g^g '9 W BG|g$=7^gG|g^g ''~Eh 2BG|g$=7^gG|g^g 'W&ts iBG|g$=G^gG|g^g$ 5ɸP FBG|g$=7^gG|g^g (gH %BG|g$=^gG|g^g 'l%. ɽBG|g$=7^gG|g^g (\s+ lBG|g$=H7^gG|g^g (rWue !BG|g$=7^gG|g^g +(`=*' LBG|g$=H7^gG|g^g 9(g3(w BG|g$=7^gG|g^g G(sYu ,BG|g$=7^gG|g^g U(v/~B 9 BG|g$=H7^gG|g^g c(Aj8ې xBG|g$=7^gG|g^g q(aU BG|g$=7^gG|g^g (y %BG|g$=7^gG|g^g (Kc9 tKBG|g$=7^gG|g^g (׶i yBG|g$=7^gG|g^g ( BG|g$=7^gG|g^g ( BG|g$=6^gG|g^g (, rBG|g$=x8^gG|g^g (5u2 =2$EG|g$=p8^gG|g^g (m*of 52$EG|g$=x8^gG|g^g ( R y2$EG|g$=x8^gG|g^g )>A 2$EG|g$=x8^gG|g^g )dK 2$EG|g$=x8^gG|g^g )>5 72$EG|g$=x8^gG|g^g -)B Z2$EG|g$=An|gG|gG|g% d C m 2$E2$EG|g~_@7^gG|g^g <)7*@W _2$EG|g~_@7^gG|g^g J):>DR t2$EG|g~_@7^gG|g^g X) 2$EG|g~_@7^gG|g^g )v: 2$EG|g~_@7^gG|g^g )*-n @"2$EG|g~_@@7^gG|g^g )ICxK* 2$EG|g~_@W^gG|g^g, 6i3+ Ȳ2$EG|g~_@7^gG|g^g )ݏp 2$EG|g~_@An|gG|gG|g+ ebr &2$E2$EG|g~_@ ^gG|g^g '/  C2$EG|g~_@^gG|g^g (*Y[@^ 2$EG|g~_@K ^gG|g^g )% 2$EG|g~_@ ^gG|g^g )1 ͞2$EG|g~_@^gG|g^g )0Ύ^ H2$EG|g~_@ ^gG|g^g )9'\ w2$EG|g~_@$^gG|g^g  )' d2$EG|g~_@^gG|g^g ) 2$EG|g~_@ ^gG|g^g )> @2$EG|g~_@^gG|g^g )҉  O2$EG|g~_@^gG|g^g )J j 2$EG|g~_@^gG|g^g )_# 2$EG|g~_@T ^gG|g^g *a{ 2$EG|g~_@ ^gG|g^g *A9a #2$EG|g~_@^gG|g^g )\/ BG|g~_@S|gG|g Kf  *APj NdHG|gNAR|gG|gG|g fG9oU DNNfG|gNdS|gG|g Kf )%v VNG|gN0S|gG|g Kf   * VNG|gNlS|gG|g Kf *=Za ' NvG|gNS|gG|g Kf *X\ Nh G|gN\gG|g\g * :UY sNrSG|gNrSAn|gG|gG|g gw :9\\4[G|g\Z,YugG|g,Yug *l \G|g\Z7,YugG|g,Yug *?: \G|g\Z ,YugG|g,Yug #*0<4 \G|g\Z=,YugG|g,Yug '*мL \G|g\Z',YugG|g,Yug .*~ \G|g\Z@,YugG|g,Yug" $60 ({\G|g\ZG|gG|gG|glbu$$m&J 8\\Z\ZG|g\ZG|gG|gG|glbujG0 0\\Z\ZG|g\ZG|gG|gG|glbuNW]- eZ\\Z\ZG|g\ZG|gG|gG|glbuj \\Z\ZG|g\ZG|gG|gG|glbuK N\\Z\ZG|g\Z,YugG|g,Yug /*B k dU\G|g\ZD,YugG|g,Yug 2*6Ԗd \G|g\Z,YugG|g,Yug :*d/ \G|g\ZE,YugG|g,Yug >*& V\G|g\Z&,YugG|g,Yug  E*@AK \G|g\Z# ,YugG|g,Yug O*PRg \G|g\Z ,YugG|g,Yug S*bqT\ `\G|g\Zګ,YugG|g,YugV +566K5D \G|g\Z,YugG|g,Yug W*T- ,\G|g\,YugG|g,Yug Y*mr u\G|g\ 9,YugG|g,Yug [* *\G|g\0,YugG|g,Yug j*sMQ \G|g\,YugG|g,Yug  n*S. +\G|g\8,YugG|g,Yug s*R :\G|g\,YugG|g,Yug u*n/j ö\G|g\2,YugG|g,Yug w*ޝɁ \G|g\,YugG|g,Yug y*_ {\G|g\( ,YugG|g,Yug }*zYչ f=\G|g\ ,YugG|g,Yug *ysn8 ?\G|g\x,YugG|g,Yug *5 ݥ\G|g\,YugG|g,Yug *_ \G|g\+,YugG|g,Yug * V1 \G|g\&,YugG|g,Yug *]l+ 8x\G|g\%,YugG|g,Yug  *>: ~^_G|g\%|gG|g%|g *sZ 23,mG|gIk6%|gG|g%|g *F@ ,mG|gIkm|gG|gG|g../usr/lib/os-release5{ ,mIkxhG|gIkAn|gG|gG|g z$v ,m,mG|g,ma%|gG|g%|g *] 8,mG|g,mAn|gG|gG|g l0 $S >*"d"d\~G|g"dA n|gG|gG|g A mog$* ff\~G|g"dAn|gG|gG|g nz~$H ɂff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pubU'!e f"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub>ىߠ @=f"d"dG|g"d\fG|g\f * )Z fG|g"d\fG|g\f * fG|g"d\fG|g\f */XQ sfG|g"d\fG|g\f *l} fG|g"d\fG|g\f *߉e& fG|g"d\fG|g\f *.@ fG|g"d\fG|g\f *KI fG|g"d\fG|g\f * fG|g"d\fG|g\f *)Q!X :BfG|g"d \fG|g\f *H fG|g"d \fG|g\f *l$ fG|g"d \fG|g\f * KfG|g"d \fG|g\f *l~ \fG|g"d \fG|g\f *>{ U fG|g"d \fG|g\f *g xfG|g"d \fG|g\f *cP fG|g"d \fG|g\f *4] fG|g"d \fG|g\f *37 fG|g"dAn|gG|gG|g q5B ff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pubcB f"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-616a9724.rsa.pubSyl; /f"d"dG|g"dAn|gG|gG|g r@R(n ff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub?r ~yf"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pubSm #f"d"dG|g"dAn|gG|gG|g s(xU {ff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub|ETۣ /f"d"dG|g"dAn|gG|gG|g tD[ =Rff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pubɼF* J#f"d"dG|g"dAn|gG|gG|g u4 yff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-58cbb476.rsa.publsj f"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-616abc23.rsa.publ3 f"d"dG|g"dAn|gG|gG|g veR ff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub~yG1 f"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub>U| [f"d"dG|g"dAn|gG|gG|g w烯8 eff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pubZ* RUf"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub[$ f"d"dG|g"dAn|gG|gG|g xA ff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pubph f"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pubD. f"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub5@P :f"d"dG|g"dAn|gG|gG|g yt$+` iff\~G|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub[>= lf"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pubϳ ˜f"d"dG|g"d6G|gG|gG|g../alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' sf"d"dG|g"dm|gG|g%|g *$V" :,mxhG|g,mAn|gG|gG|g {i G|gprG|gG|gG|gcerts/ca-certificates.crt8׉p :tprprG|gprAn|gG|gG|g |XߘI :t:tG|gpr3PxgG|gPxg 3hfm :tG|gprAn|gG|gG|g }Z %:t:tG|g:tG|gG|gG|g/etc/ssl/cert.pemVI 0:t:t:tG|g:tG|gG|gG|g/etc/ssl/certs);$a :t:t:tG|g:t~= zG|gz N|gG|gG|glibz.so.1.3.1 vU 8E.G|g.XN|gG|g۸f f7M *EG|g.A\|gG|gG|g %/b < < G|g< S|gG|g<Og E|7O% Ql8G|g< S|gG|g<Ogh 3T;j 9l~_@G|g< An|gG|gG|g b: 8J1J1G|gJ1An|gG|gG|g ESZ "#J1J1G|gJ1\gG|g\g *jmv J1G|gJ16\gG|g\g *n &J1G|gJ1\gG|g\g *W\ J1G|gJ1o\gG|g\g *{\ J1G|gJ1j\gG|g\g *%uX# 6J1G|gJ10\gG|g\g * (] h tJ1G|gJ1\gG|g\g *,Ÿ rJ1G|gJ1(\gG|g\g *bD}N WJ1G|gJ1 \gG|g\g *QuT uJ1G|gJ1\gG|g\g *VtJ V8G|gJ1\gG|g\g *T̛ {<G|gJ1!\gG|g\g *} dG|gJ11\gG|g\g *; LeG|gJ1\gG|g\g *8 G|gJ1$\gG|g\g *ɾq G|gJ1;\gG|g\g *} I G|gJ1I7N|gG|g\g */nB i)yG|gXXR|gG|g3g B,o5 fpG|gf3/OgG|g3/Og +$ ~tG|gDH3/OgG|g3/OgF #C,L[I& wtG|gD3/OgG|g3/OgX ,7Be WtG|gtx_3/OgG|g3/Og0 f,Dz[ ZtG|gt43/OgG|g3/Og + <> tG|gtH|gH|gH|glibgmp.so.10.5.0 ( C'ZbZbH|gZbȇ|fH|g|fD T> V'H|gZbH|gH|gH|glibhogweed.so.6.9(| =*uNNH|gNg9 fH|g9 f4 V K 9*uH|gNH|gH|gH|glibnettle.so.8.9s"d M*uH|g9 fH|g9 fd 2WQK9C С*uH|gH|gH|gH|glibunistring.so.5.1.0]z[ T*88H|g8@'IeH|gIe  X0_n T*H|g8H|gH|gH|glibidn2.so.0.4.0BBZ ;s4b2b2H|gb2#ɶeH|g#ɶe a#&4 Fs4H|gb2H|gH|gH|glibffi.so.8.1.4_}_ Ep89p89p89H|gp890iHeH|giHeN '~, < p89H|gp89H|gH|gH|glibtasn1.so.6.6.3wl \$=$=$=H|g$=`%adH|g%ad B,7Vx $=H|g$=An|gH|gH|g Q< sNNH|g2$E3gH|g3g +s NH|gG03gH|g3g a-M7 NH|gGH|gH|gH|glibp11-kit.so.0.4.1eR o :NGGH|gG3gH|g3g|  Lb@gN NH|gGAn|gH|gH|g xM NNH|gN083gH|g3g +8lt RNH|gN3gH|g3g +xK NH|gNH|gH|gH|glibgnutls.so.30.40.2 !8 ;Ik7X7XH|g7X'U3gH|gU3g Jp{e,. ŭIkH|g7X7~fH|g~f +IqÜ %JprH|gpH|gH|gH|glibseccomp.so.2.5.5: prppH|gp~fH|g~f n,k i$prH|gprAen|gN|gH|gf  +:pr H|gV!yn|gn|gn|g* Jc' E9n|ggH|gg #+M` ߥ H|gV!gH|gg $+ ; q H|gV!gH|gg GU-e !g H|gV!gH|gg  g8LHJV y H|gV!Aen|gN|gH|gf  eVs pr dHH|ggH|gg b4  H|g]gH|gg %+53gm H|gdHogH|gg &+A,n ݺH|g&gH|g&g '+N* H|g4[n|gn|gn|gn|g F5 5w5w9n|gm&gH|g&gZ -gQ!Ʊ H|g4[An|gH|gH|g 5jVs @dHH|gAn|gH|gH|g # ~dHH|g$&gH|g&g )+g @eH|g$&gH|g&g *+6Jk +H|g$&gH|g&g 1+TsKq lH|g$ &gH|g&g 5+z H|gm &gH|g&g  9+@D$0 2H|gAn|gH|gH|g [a$ >V!H|gAn|gH|gH|g Ὺf *V!H|g$ &gH|g&g B+G 0VH|g$u&gH|g&g E+; \H|g$.&gH|g&g F+hH H|g$&gH|g&g G+ NH|g7&gH|g&g I+mRR cH|gBgH|gg J+= QPH|gPAn|gn|gn|g k n''H|gPgH|ggF #-@: ZPH|gPH|gH|gH|gfsck.fato2_ "^вnnH|gnH|gH|gH|gfatlabel2f ^вnnH|gn`qeH|g`qeT *-X'#: +^вH|gn`qeH|g`qe F- ^вH|gnH|gH|gH|gfsck.fatL i^вnnH|gnH|gH|gH|gfsck.fat|J+RT r^вnnH|gnH|gH|gH|gmkfs.fat~- ]c^вnnH|gn`qeH|g`qef 3/.,"K p^вH|gnH|gH|gH|gmkfs.fat5 ^вnnH|gnH|gH|gH|gmkfs.fat>rA2 ^`^в^в^вH|g^в`S|gH|g :fL &.KQ# YnH|gS|gH|gH|glibblkid.so.1.1.0r<  FH|g S|gH|g&<\ Ø~_@I|g$=QPgI|gQPg b+}| B~_@I|g$=iQPgI|gQPg c+yn_ p~_@I|g$= QPgI|gQPg d+], W<~_@I|g$=!QPgI|gQPg e+W ~_@I|g$= QPgI|gQPg f+=bҮg l~_@I|g$=#QPgI|gQPg g+XZ- I~_@I|g$=OQPgI|gQPg h+G>h _~_@I|g$=@QPgI|gQPg i+ykfj ~_@I|g$=@T|gI|gQPg j+{-R* &I~_@(I|g$=ZQPgI|gQPg k+KÖ ~_@I|g$= QPgI|gQPg l+J (BI|g$=QPgI|gQPg m+?ub BI|g$=QPgI|gQPg n+] &BI|g$=QPgI|gQPg o+y 7jBI|g$=R|gI|gQPg p+gH BxhI|g$=T|gI|gQPg q+ Ns ]BL-I|g$= QPgI|gQPg r+qrp @BI|g$=QPgI|gQPg s+>4OQ &BI|g$=,T|gI|gQPg t+M6 ;B6I|g$=QPgI|gQPg u+f; 8BI|g$=QPgI|gQPg v+U4 lBI|g$=jQPgI|gQPg w+jn TqBI|g$=QPgI|gQPg x+$r_ PBI|g$=3QPgI|gQPg y+wC BI|g$=:T|gI|gQPg z+Pm VBp89I|g$=QPgI|gQPg {+DTZ "BI|g$=QPgI|gQPg |+(`` BI|g$=QPgI|gQPg }+eBh BI|g$=R|gI|gQPg ~+(24H dBxhI|g$=T|gI|gQPg +kʾԡ 0B$=I|g$=QPgI|gQPg +G:Q BI|g$=4T|gI|gQPg +zwys ƐB~_@I|g$=QPgI|gQPg +>9 BI|g$=QPgI|gQPg +O ۝BI|g$=T|gI|gQPg +e CB2$EI|g$=T|gI|gQPg +% BNI|g$='QPgI|gQPg +uZ[ 'BI|g$=+QPgI|gQPg +{*v FBI|g$=$QPgI|gQPg +4hA( BI|g~_@QPgI|gQPg +c BI|g~_@?QPgI|gQPg +' /BI|g~_@QPgI|gQPg +n BI|g~_@QPgI|gQPg +P . BI|g~_@UQPgI|gQPg +n J +BI|g~_@An|gm|gm|g L:c bH{l|gdHQPgI|gQPg  +M BI|g~_@ R|gI|gQPg  +C gB\ZI|g~_@S|gI|gQPgF #U8 DB I|g~_@An|gI|gI|g n&r{ OBBV!I|g~_@}T|gI|gQPg +d .8@ TB9I|g~_@T|gI|gQPg +} 6yB9I|g~_@ajT|gI|gQPg6 / BI|g~_@sT|gI|gQPg +e +nB9I|g~_@~Z1vgM|g1vg@- %}m %&I|gQ?Em|gM|g1vg$ &:Rl jL%&< I|g:td1vgM|g1vgX[   Y (Y(Y:$ H" F%&I|g5wA`|gJ|gJ|g Q"L jaja5wJ|gjaA n|gR|gR|gQ 495v/& $\Z\ZJ|gjaAN|gM|gM|g  ID a %&PJ|gf N|gM|g1vg   >{ri D%& J|gfFN|gM|g1vg$ <{ N :%&nJ|gfN|gM|g1vg  >Vd %&PJ|gf,N|gM|g1vg  >39P l%& J|gfAN|gM|g1vg" <’Y ?%&J|gf1BN|gM|g1vg" <! %&J|gf@N|gM|g1vg" <bN q%&J|gf}1N|gM|g1vg  >) s%&J|gf/N|gM|g1vg  ->ky %&FJ|gxh3N|gM|g1vg  9>3h 5%&FJ|gxhN|gM|g1vg F>d^ s%&nJ|gxhN|gM|g1vg  N>ZP 'U%&^вJ|gxhN|gM|g1vg T>6H J%&J|gxhN|gM|g1vg [>?XMT ]%&J|gxh N|gM|g1vg b>aP %&&4J|gxhAN|gM|gM|g Yo %&%&V!J|gxh[N|gM|g1vg  f>m*B )%&&4J|gxhN|gM|g1vg  k>EO ߷%& J|gxhAN|gM|gM|g =;j %&%&V!J|gxh]N|gM|g1vg X__O?ɷ r%&zJ|gxhػN|gM|g1vg \ i%&YJ|g,mN|gM|g1vgt :(}XKg s%&^вJ|gprAN|gM|gM|g  z d((V!J|g\~O|gM|g1vg q>e &]%&lJ|g\~O|gM|g1vg y>:Wq W%&J|g\~=O|gM|g1vg  >Ke %& J|g\~O|gM|g1vg >'It k %& J|g\~O|gM|g1vg >rʵa %& J|g\~O|gM|g1vg  >sw i%& J|g\~(O|gM|g1vg >K:"CQ v( J|g\~O|gM|g1vg  >21 T(J|g\~AN|gM|gM|g  ((V!J|g\~LO|gM|g1vg >  (J|g\~>O|gM|g1vg >pO5K5 (J|g\~OO|gM|g1vg >ԆO {(J|g\~DO|gM|g1vg  >xs& (J|g\~O|gM|g1vg >]K (J|g\~O|gM|g1vg >t- L(XXJ|g\~QO|gM|g1vg >ԣM. r(XXJ|g\~!O|gM|g1vg  >U ="(< J|gV!O|gM|g1vg >@ ("(J|gV! O|gM|g1vg >5* <(J|gV!=9O|gM|g1vg >j) (J|gV!l+O|gM|g1vg  ?R (J|gV!OO|gM|g1vg ?&4& (J|gV!lO|gM|g1vg ?f (J|gV!p/O|gM|g1vg  ?WXc q(J|gV! "O|gM|g1vg  )?m1; (J|gV!O|gM|g1vg 2?G |a(J|gV!O|gM|g1vg  6?pK  (J|gV! O|gM|g1vg ;??m "(XXJ|gV! O|gM|g1vg ??4. (J|gV!1O|gM|g1vg  C?a (J1J|gV!&O|gM|g1vg  P?D/w n(.J|gO|gM|g1vg  Z?^k (J|gO|gM|g1vg _?JOb (DJ|g"O|gM|g1vg  f?^ (EJ|gO|gM|g1vg  o?> Q(lJ|g O|gM|g1vg u?\xׁP Q(fJ|g[ O|gM|g1vg y?{` ,W(J1J|g*O|gM|g1vg  }?|z/ Թ(J|gVO|gM|g1vg, =f W(fJ|gO|gM|g1vg  ?.Ժ (fJ|gO|gM|g1vg ?nή%& (EJ|gO|gM|g1vg ?\z _(EJ|gq"O|gM|g1vg  ?<> (fJ|gO|gM|g1vg  ?\_r [(J1J|g5O|gM|g1vg ?^ (J|g O|gM|g1vg ?_΅ (EJ|g O|gM|g1vg ?_x gX(J|g O|gM|g1vg ?mSp ^(lJ|g K%O|gM|g1vg  ?b| (J|g jO|gM|g1vg  ?d (lJ|g tO|gM|g1vg  ?k\?B h(lJ|g EO|gM|g1vg ?W (XXJ|g EO|gM|g1vg ?' (XXJ|g O|gM|g1vg  ?ҰQ W(< J|g O|gM|g1vg ?sH ؄(J|g O|gM|g1vg ?N8u F(J|g O|gM|g1vg ? 28(< J|g FO|gM|g1vg ?7? (J1J|g O|gM|g1vg  | r(J|g O|gM|g1vg  |< w2( J|g O|gM|g1vg  | (< J|g O|gM|g1vg  |@{T ](EJ|g )O|gM|g1vg  |9 ib(J|gdHO|gM|g1vg  "|^U{ |-(< J|gdHbO|gM|g1vg  (|Ja N(< J|gdHnO|gM|g1vg .| a 9C(J|gdH!O|gM|g1vgF #= (J|gdH -O|gM|g1vg  2|~ ݉(J|gdHKO|gM|g1vg  >|^+T '(J|gdH O|gM|g1vg C|t~ (J|gdH^7O|gM|g1vg K|z  "/(< J|gO|gM|g1vg  Y|Hب$ V(J|gO|gM|g1vg ^|O (lJ|gmO|gM|g1vg b| 1/(fJ|gc O|gM|g1vg j|;U8 (J|g AN|gK|gK|g(' ]6O ܨH{H{V!J|g AN|gM|gM|g 'G] ~((J|g P|gM|g1vg  n| ( ('J|g X!P|gM|g1vg  t|25 w( J|g 8P|gM|g1vg }|AG '(h J|g 'P|gM|g1vg  |/y|U h('J|g )P|gM|g1vg  |- u('J|g X P|gM|g1vg |gli ( J|g AN|gM|gM|g C ((J|g [P|gM|g1vgZ -?=ڸ6 +(h J|g W#P|gM|g1vg  |{K@3 ( J|g yP|gM|g1vg |b ( J|gro2P|gM|g1vg  |ob]Ew (h J|gro P|gM|g1vg |_K 4('J|groAN|gM|gM|g bbE !((V!J|gro;P|gM|g1vg  |+. (\J|groAN|gJ|gJ|g EH roroJ|groAN|gM|gM|g $̫ J((J|groOP|gM|g1vg( l=負:p$ 2(6J|groAN|gM|gM|g {R T*T*J|groAN|gM|gM|g ' pT*T*J|gro)P|gM|g1vg  Ks} T*ʚ;J|groP|gM|g1vgp 8_|< (6J|g_P|gM|g1vg0 =BgO A(p89J|gP|gM|g1vgF #=8 (p89J|gJP|gM|g1vg S,{H g T*~_@J|gDP|gM|g1vg$ =xn T*p89J|g4[AN|gM|gM|g M4 nT*T*J|g4[ P|gM|g1vgB !o"+Ҽ T*ʚ;J|g4[AN|gM|gM|g u¹ T*T*J|g4[XP|gM|g1vg. o,А} (rT*BJ|g4[AN|gM|gM|g :5 KT*T*V!J|g4[P|gM|g1vgN '{B* uT*BJ|g4[AN|gM|gM|g 7f rT*T*V!J|g4[nP|gM|g1vg |z)9, ;T*9J|g4[AN|gM|gM|g [ T*T*V!J|g,P|gM|g1vg  |u3^ %T*J|gcP|gM|g1vg  |2sڎ J?T*9J|gP|gM|g1vg |[w xT*J|gAN|gM|gM|g ZF cT*T*J|gAN|gM|gM|g g %|T*T*J|g aP|gM|g1vg2 {L OT*tJ|gP|gM|g1vgt :{`/ RT*DJ|gAN|gJ|gJ|g Y[ J|gAN|gJ|gJ|g . ʾFFJ|gAN|gM|gM|g &@si T*T*J|g;P|gM|g1vg |&3 pT*J|gAN|gM|gM|g K N T*T*J|gB"TP|gM|g1vg ; tT*tJ|gBAN|gM|gM|g ^{( T*T*J|g-.Q|gM|g1vg  |p BT*J|gFQ|gM|g1vg }\A T*J|gFHQ|gM|g1vg  }^ }T*J|gFAN|gM|gM|g QT: T*T*J|gFYQ|gM|g1vg. o"k KT*J|gFAN|gM|gM|g bLE[E qT*T* J|gF=!Q|gM|g1vg  }Vv_A T*vJ|gFAN|gJ|gJ|g P FFV!J|gFAN|gM|gM|g č -T*T*V!J|gF<P|gM|g1vgP (~QmЊ uT*NJ|gFAN|gM|gM|g X1 _T*T*V!J|gFQP|gM|g1vg* )~F T* J|gFAN|gM|gM|g N|/ T*T*V!J|gPAN|gM|gM|g Ga IT*T*V!J|gP,P|gM|g1vg  }1 iT*DJ|gP&P|gM|g1vg  #}j[ l4 WT*DJ|gPAN|gJ|gJ|g % t( PbPPJ|gPAN|gM|gM|g   a uT*T*J|gPZP|gM|g1vg Wxc*!- T*J|gPP|gM|g1vg ~>~b,.M $T*(J|g^в7P|gM|g1vg  -}Ʌњ2 &T*F#J|gFyP|gM|g1vg> ~Y=.l9 T*%&J|gm_P|gM|g1vg0 ~ 4 r0T*%&J|g^P|gM|g1vg0 ~U*uh 7qT*%&J|gAN|gM|gM|g 2z tT*T*J|gfP|gM|g1vg4  B+ 2T*s4J|gAN|gM|gM|g R< ǮT*T*J|gP|gM|g1vg E% 0\ GT*b2J|gAN|gM|gM|g ~n XT*T*J|gl^P|gM|g1vg0 jng T*9J|glTXP|gM|g1vg. ҆9 `T*9J|gl1^P|gM|g1vg0 7< T*8J|glAN|gM|gM|g BH  T*T*J|glP|gM|g1vgn 73{H XT*T*J|glAN|gM|gM|g E T*T*J|gYP|gM|g1vgR )j T*s4J|gYAN|gM|gM|g o T*T*J|gYP|gM|g1vg F0 DT*b2J|gYAN|gM|gM|g Ȓ bT*T*J|gY P|gM|g1vg hB<@ T*L-J|gYAN|gM|gM|g m RT*T*J|g.P|gM|g1vgH $ٗx Uy 5T*8J|g.AN|gM|gM|g bCV T*T*J|g. Q|gM|g1vg  2}$qp~ tT*J|g.7Q|gM|g1vg  8}/* PT*J|g.}%Q|gM|g1vg  >}::` AT*J|g.AQ|gM|g1vg lJ!N QT*ZbJ|g.x5Q|gM|g1vg H}`v T*ZbJ|gEAN|gM|gM|g @? 0`T*T*J|gEeQ|gM|g1vg4 Hq: T*J|gEQ|gM|g1vg V},i T*J|gEQ|gM|g1vg ^}I `#T*J|gEAN|gM|gM|g $d wT*T* J|gEQQ|gM|g1vg* b }T*h J|gEE^Q|gM|g1vg0 i*\]` T*h J|gEAN|gM|gM|g 'os T*T*J|gEp,Q|gM|g1vg  e}Q8] ΌT*vJ|gENQ|gM|g1vg( (s TT*vJ|gEAN|gM|gM|g  >T*T*J|g< AN|gM|gM|g ObEz IT*T*J|g< <P|gM|g1vg  q}z[td T*YJ|g< 7P|gM|g1vg }X-uI .T*YJ|g< rP|gM|g1vgx <Mp5 TsT*YJ|g< /P|gM|g1vg  }W VT* J|g< ?P|gM|g1vg }0Wu T* J|g< P|gM|g1vg }V hT* J|g< AN|gM|gM|g Z % T*T*J|g< P|gM|g1vg  } T*YJ|g< AN|gM|gM|g 2t&H LT*T*V!J|gl9P|gM|g1vg }\k, ~T*lJ|glAN|gM|gM|g |_rs 6T*T*V!J|gll/P|gM|g1vg  } DT*lJ|glAN|gM|gM|g y/l;a hT*T*V!J|gl„P|gM|g1vgD "јmo T*J|gl2P|gM|g1vg  }~ nb `T*lJ|glAN|gM|gM|g |FGaW} `T*T*V!J|gl~P|gM|g1vg  } T*J|glAN|gM|gM|g юe KT*T*J|gl*:P|gM|g1vg }FOb, T*9J|glAN|gM|gM|ga di  T*T*J|glAN|gM|gM|g  [T*T*J|glLP|gM|g1vgn kF #XT*EJ|gl,.P|gM|g1vg  }4^NH T*< J|gWuP|gM|g1vg< Et BRT*< J|gRGP|gM|g1vg$ = ̶R .sT*fJ|g9P|gM|g1vgh 4W&5 ۂT*fJ|g~P|gM|g1vgL &EK0xb 6T*lJ|g#P|gM|g1vg  }A# %T*J|gk,P|gM|g1vg  BT OT*J|gP|gM|g1vgn 7kGQ XT*J|g<P|gM|g1vg  }pдv }T*J1J|g<P|gM|g1vg   6:jO +[T*J|g4P|gM|g1vg  Vi 5T*fJ|gv0P|gM|g1vg  +0 T*J|gJP|gM|g1vg& }~ JT*J|gXXP|gM|g1vg n;  T*J|gXXhP|gM|g1vg6 CU CT*J|gP|gM|g1vg  8it jT*J|g8uP|gM|g1vg< Й݆ T*J|g0P|gM|g1vg  >4N T*J|g |P|gM|g1vg  KϙCD 3\T*J|g [P|gM|g1vg Q" T*J1J|g P|gM|g1vgL &o|i] FT*J1J|g !!P|gM|g1vg  Xq|z -T*J1J|gfP|gM|g1vgv ;uTC T*XXJ|gfP|gM|g1vg  aD| 8fT*< J|gfAN|gM|gM|g \A+ T*T*J|gf P|gM|g1vg D"__ nT*J|gfoP|gM|g1vg8 Мm #xT*XXJ|gcP|gM|g1vg2 gIy T*J|g^P|gM|g1vg  g^ 9T*J|gAN|gM|gM|g $ wo T*T*J|gP|gM|g1vgz =,1& 8T*J|gB1P|gM|g1vg  l`v T*zJ|gȇP|gM|g1vgD "Bo]l ǀT*ԀK|gIP|gM|g1vgV +dԘd. BjT*ԀK|gP|gM|g1vg v VT*.K|gAN|gK|gK|g :F]$u : K|gAN|gM|gM|g s 'T*T* K|gP|gM|g1vgn 7L oT*K|gcqP|gM|g1vg: <zc LT*BK|gXP|gM|g1vg. YX 82T*K|g׸P|gM|g1vg^ /p< 1lT*K|geP|gM|g1vg4 pG _T*K|g'~VP|gM|g1vg, +8o T*K|gh AN|gM|gM|g dʒcP acT*T*V!K|gh AN|gM|gM|g g&f T*T*V!K|gh P|gM|g1vg +{- ЦT*BK|gh I P|gM|g1vg ?0L9 T*2$EK|gh %P|gM|g1vg  y0Y[ [ T*BK|gh >P|gM|g1vg  Յ UT*2$EK|gh AN|gM|gM|g #S T*T*V!K|gh P|gM|g1vgt :Ϟ_*^1 -T*2$EK|gh A N|gM|gM|g: %&I! L-L-K|g *5P|gM|g1vg   A T*ѓK|g AN|gM|gM|g /8][ |L-L-K|g P|gM|g1vg fxW L-K|g ;P|gM|g1vg  ʼ T*K|gNAN|gK|gK|g A=ҹ V K|gNAN|gK|gK|g źD Cvv K|gNAN|gM|gM|g rSf L-L- K|gv`P|gM|g1vg Y Ʋ6] L-jaK|gvAN|gK|gK|g g6[ 3vv K|gvAN|gM|gM|g ό!4, L-L- K|gv\P|gM|g1vg Xb/"" ȉL-"dK|gvAN|gK|gK|g a C K|g*uAN|gM|gM|g rv L-L- K|g*u8~P|gM|g1vg `.6 pL-fK|g*uAN|gM|gM|g qr [L-L- K|g*uP|gM|g1vgb VIy& nL-xhK|g*uAN|gM|gM|g 7I'^ ,L-L- K|g9ӻP|gM|g1vg oc| izL-,mK|g9AN|gM|gM|g - yL-L- K|g9JP|gM|g1vgn 7ҡд7 <L-IkK|g9AN|gM|gM|g > GL-L- K|gP|gM|g1vg &5 gL-fK|gAN|gM|gM|g >x}U5 ΥL-L- K|g P|gM|g1vg +K jL-fK|gAN|gK|gK|g Oѥ1 F#F# K|gAN|gM|gM|g S. -L-L- K|gP|gM|g1vg d)- L-pK|gP|gM|g1vg g KV ·L-prK|gF#AN|gK|gK|g % !F#F# K|gF#AN|gM|gM|g ꁔi L-L- K|gF## P|gM|g1vg H RL-5wK|gF#cP|gM|g1vg2 j 3 T*ѓK|gs4dP|gM|g1vg Q RBT* K|gs4AN|gM|gM|g  _z(n 9L-L- K|gs4]P|gM|g1vg0 ӟ bL-K|gs4P|gM|g1vgJ %p:3 nT* K|gs4gIP|gM|g1vg& 3 T* K|gs4wP|gM|g1vg  ` =T*dHK|gs4AN|gM|gM|g %]q  ~L-L-K|gs4 P|gM|g1vg `NZ 9L-jaK|gs4BP|gM|g1vg  mQ AL-jaK|gs4*P|gM|g1vg  DQk .T*K|gs4 CP|gM|g1vg" _\Jx}8 1T*dHK|gs4F P|gM|g1vg ʚ%X4 <T*&4K|gs4AN|gM|gM|g &ˎƀ %L-L- K|gs4P|gM|g1vg Κ蚢 edL-jaK|g6jP|gM|g1vg [@G eL-^_K|g6 P|gM|g1vg ՚9 L-^_K|gp89AN|gM|gM|g & pL-L-K|gp89P|gM|g1vg ٚPͨ AL-K|gp89s*P|gM|g1vg  Cq vL-&4K|gp89P|gM|g1vg 5u: DL-K|gp89${P|gM|g1vg> YY I PL-&4K|gp89P|gM|g1vg .X lL-K|gp89l$P|gM|g1vg  r>( %L-K|gp89P|gM|g1vg  X4r g!L-K|gp89I'P|gM|g1vg  XW uL-K|gp89AN|gM|gM|g 31ֈ(@ ;UL-L-K|gp89P|gM|g1vg b L-K|gp89Q5P|gM|g1vg iY TL-K|gp89EP|gM|g1vg$ WŞ9Sr T* K|gʚ;AN|gM|gM|g %tS {L-L-K|gʚ;P|gM|g1vgB !?HY \L-K|gʚ;P|gM|g1vg  *DMFǰ L-K|gʚ;P|gM|g1vg  /#Zee L-K|gʚ;F&P|gM|g1vg  4`( L-K|gʚ;P|gM|g1vg  >Ý/B pL-K|gʚ;P|gM|g1vg  C63i YL-K|gʚ;XP|gM|g1vgT *0qT5g L- K|gʚ;UP|gM|g1vg, "g L- K|g~_@z P|gM|g1vg CZ5ʤ lHL-roK|g~_@AN|gM|gM|g &A mL-L- K|g~_@P|gM|g1vgn 7lN' BL-K|g~_@KP|gM|g1vg& ԣjF0 L-&4K|gBAN|gM|gM|g &9b *L-L- K|gB4PP|gM|g1vg UJT L-roK|gBAN|gM|gM|g &mC T'L-L-K|gB P|gM|g1vg C<'l :uL-K|gBAN|gM|gM|g 3|-x !L-L-K|gGP|gM|g1vg` 0cqf nL-4[K|gGAN|gM|gM|g 3]Cϖ }FL-L-K|gGDP|gM|g1vg$ D eL-GK|gG+P|gM|g1vg  HB|Pn }7L-2$EK|gGP|gM|g1vg  S WL-GK|gGtP|gM|g1vg  X]N QL-GK|gGAN|gK|gK|g 3ټr @KL@KLK|gGAN|gM|gM|g 3 na CL-L-K|gG?P|gM|g1vg jBX rL-7XK|gI@XP|gM|g1vg. + x3G L-\ZK|g@KLP|gM|g1vgR )B"%)M a$L-\ZK|g@KLAN|gM|gM|g %4f L-L-K|g@KL LP|gM|g1vg( k2V L-\K|g@KLCP|gM|g1vg Qcw PL-\ZK|g@KLAN|gM|gM|g %B kL-L- K|gNAN|gM|gM|g %\Y L-L- K|gND P|gM|g1vg ]{P_ L-ZbK|gNnP|gM|g1vg8 ХEBw ZL-ZbK|gNP|gM|g1vg aiֱ PL-ZbK|gNAN|gM|gM|g %`EQ L-L-K|gNP|gM|g1vg  e>mq L-zK|gNxP|gM|g1vg kL$ xL-zK|gNAN|gM|gM|g %?| GpL-L- K|gN*Q|gM|g1vg  oѮ Q[L-*uK|gNnQ|gM|g1vg  z3 L-*uK|gN4Q|gM|g1vg 0 L-K|gNAN|gM|gM|g %{;vK 5|L-L-K|gNP|gM|g1vg  i=uG L-lK|gNA N|gM|gM|g/ % 4EA xL-L- K|gNOP|gM|g1vg( J+7 jL-NrSK|gNTTP|gM|g1vg, $< oL-QK|gN9P|gM|g1vg` 02T QL-NK|gNrSXP|gM|g1vg. FC d9L-QK|gNrSAN|gM|gM|g %l [L-L- K|gNrSa$P|gM|g1vg J]{;l eL-@KLK|gNrSP|gM|g1vg  \S L-GK|gU P|gM|g1vg` 0RY |L-IK|gU*0P|gM|g1vg Mצrg+i @L-IK|gUbP|gM|g1vg2 $  67L-@KLK|g7XPP|gM|g1vg* =( z1L-GK|g7X1P|gM|g1vg  NX fL-NK|g7XӖP|gM|g1vgL &RJ qL-UK|g7X}lP|gM|g1vg8 xp ` GL-UK|g7XDP|gM|g1vg$ N L-UK|g\:P|gM|g1vg ZO UqL-QK|g\SBP|gM|g1vg"  2L-NrSK|g\AN|gM|gM|g 3BH L-L-K|g\fQ|gM|g1vg q[ L- K|g\AN|gK|gK|g 3_ڀ T t5jajaK|gjaAN|gM|gM|g 3d L-L-K|gjawP|gM|g1vg /:/u n;L-*uK|gjaP|gM|g1vg SoH *L-K|gjaAN|gM|gM|g 3u* 9L-L-K|gjazsP|gM|g1vg: 8 L-K|gjaAN|gK|gK|g 3I =prprK|gjaAN|gM|gM|g 3K @//K|gjaP|gM|g1vg ěWs g\L-nK|gjaAN|gM|gM|g 3 U" &8//K|gja3P|gM|g1vg o Zn/nK|gjaAN|gM|gM|g 3F Es//K|gxhP|gM|g1vg @}O[ /K|gxh#$P|gM|g1vg  ̛OZI z^/K|gxh.-P|gM|g1vg  ֛*ޑ_H %/K|gxhPP|gM|g1vgL &ԧ% Q/FK|gxhP|gM|g1vg X EA % /FK|gIk[!P|gM|g1vg  NњW )X/FK|gIkP|gM|g1vgD "A /PK|gIk\>P|gM|g1vg  N o/ K|gIk\P|gM|g1vgZ <BTWJ e/PK|gIku:P|gM|g1vg d1.f / K|gprAN|gM|gM|g %N l//K|gprK`P|gM|g1vg2 c v/2K|gprAN|gM|gM|g %Mh D//K|gprbGP|gM|g1vg$ |Sd+ /2K|gprݼP|gM|g1vg` 0l| /2K|gprAN|gM|gM|g %u //K|gprAN|gM|gM|g %}A pX//K|gprGQ|gM|g1vg$ Н I/ K|gprLQ|gM|g1vg( Шl ,/ K|g:tAN|gM|gM|g % F//K|g:tU-Q|gM|g1vg  6 / K|g:tAN|gM|gM|g %T? //K|g:tQ|gM|g1vgB !qWc ڇ/K|g:tpQ|gM|g1vg   /*uK|g:tPQ|gM|g1vg*  /K|g:tUIQ|gM|g1vg& HSh Q/K|g:tAN|gK|gK|g %vG >:t:tK|g:tAN|gK|gK|g %"zep :t:tK|g:tAN|gM|gM|g %8% j//K|g:tCP|gM|g1vg C-5l B/K|g:tP|gM|g1vg  &G /'K|gyP|gM|g1vg , w^e /K|gy-P|gM|g1vg 3R ",/K|gyP|gM|g1vg ;pY [/'K|gyAN|gK|gK|g %\hT+( QyyV!K|gyAN|gK|gK|g %, QyyV!K|gyAN|gM|gM|g %&( pE t//K|gyQ|gM|g1vg  B Q?ˏ ]/'K|gyAN|gM|gM|g %Y //K|gySQ|gM|g1vg* pB /h K|gyAN|gM|gM|g %bJ T//K|gyrQ|gM|g1vg: Ǎ# J/'K|gyAN|gM|gM|g %V //K|gy:P|gM|g1vg HjE t/NK|gy P|gM|g1vg W1 B/vK|gyl!P|gM|g1vg  Z=g~ /NK|gy~bP|gM|g1vg2 Eu0 /vK|gH{$P|gM|g1vg  c!ݩ O/vK|gH{AN|gM|gM|g %ie h//K|gH{LP|gM|g1vg  m IE/zK|gH{P|gM|g1vg s2 /zK|gH{4P|gM|g1vg  {MG h/zK|gH{AN|gM|gM|g 3Sz //K|gH{9@P|gM|g1vg" XX /*uK|gH{%P|gM|g1vg  G 6./K|gH{"P|gM|g1vg  $ /K|gH{HP|gM|g1vg 3 V/*uK|gH{#P|gM|g1vg  ʹX 0/K|g\~>P|gM|g1vg  W' /K|g\~AN|gM|gM|g 33ڞ i//K|grP|gM|g1vgh 4̩AibK я/vK|gx{P|gM|g1vg> (H /K|gAN|gM|gM|g,1 3p<}j //dHK|gAN|gM|gM|g 3AT .//K|gyO|gM|g1vgf 3 !7 / K|gAN|gM|gM|g 3po wb//dHK|gV!+O|gM|g1vgB !SHV/c /xhK|gV!G.O|gM|g1vg  ܑMV K/ K|gV!AN|gM|gM|g 3ۖ 6//K|gV!OO|gM|g1vg( @K4 /K|gV!AN|gM|gM|g 3  //K|g6O|gM|g1vg NttAl /K|gAN|gM|gM|g 3p //K|gO|gM|g1vg b>PC 0/YK|gAN|gM|gM|g 3qX N0//dHK|gBO|gM|g1vgB !¬N vU/NK|gBAN|gM|gM|g 3Ž //K|gBO|gM|g1vg   =/%&K|gBAN|gM|gM|g 3H@2 //dHK|gBHO|gM|g1vgz w8 .k/NK|gBAN|gM|gM|g 3f Y//K|gF[O|gM|g1vg GI7 6/b2K|gFAN|gM|gM|g 3  k//K|gF=O|gM|g1vg  ƪ Z/ԀK|gFAN|gM|gM|g 3wߘ //K|gFp2O|gM|g1vg  ֪% y0/fK|gFAN|gM|gM|g 3 _? -//K|gFHO|gM|g1vg~ ?*w2 JE/L-K|gFAN|gM|gM|g 4Z/ހ //K|g #O|gM|g1vg Ii1_d d/`!K|g AN|gM|gM|g %R߆ F//K|g OO|gM|g1vg( 4v.K r/9K|g AN|gM|gM|g %%u //K|glO|gM|g1vg H </2K|glAN|gM|gM|g %yӗ 4//K|gԀO|gM|g1vgx <9%H g/(K|gԀ[+O|gM|g1vg  LiI /L-K|g.=O|gM|g1vg  )o V)/T*K|g.AN|gM|gM|g % ]//K|g. O|gM|g1vg ~a;n /xhK|g.YO|gM|g1vg. lVFE /,mK|gAN|gM|gM|g %gC //K|gHO|gM|g1vg& +3yNv 8/nK|gAN|gM|gM|g %` )//K|gwO|gM|g1vg< {f* 0//K|gAN|gM|gM|g %/ //K|gwO|gM|g1vg ^T 2_/F#K|gAN|gM|gM|g %S&| //K|gJ1ZO|gM|g1vg. >w /prK|gJ1AN|gM|gM|g %`/ң //K|gj*O|gM|g1vg K) c]/NK|gO|gM|g1vg >ڝ / K|gAN|gM|gM|g %& E%//dHK|g&O|gM|g1vg EZi )/K|gAN|gM|gM|g %zlCki g//K|gXXAN|gM|gM|g %;l K//K|gXXO|gM|g1vgB !J#tf Ud/BK|gXXAN|gM|gM|g %Okf B5//K|gXXe[O|gM|g1vg. kD k/BK|gXXAN|gM|gM|g %d. o//K|gXXO|gM|g1vgR ) D E/2$EK|gXXZO|gM|g1vg _2 X/b2K|gXXyO|gM|g1vg> 4 /p89K|gfO|gM|g1vgj `b /p89K|gfAN|gM|gM|g %Ps //L|gN|gM|g1vg  ~| /.L|gAN|gM|gM|g %HL +//dHL|gO|gM|g1vgh !~ /GL|gAN|gM|gM|g %P|- //L|gh O|gM|g1vgX "E +/dHL|gh AN|gM|gM|g  %uX b2b2dHL|g O|gM|g1vg  ) /L|g cO|gM|g1vg PM A/L|g O|gM|g1vg ]j z/L|g <O|gM|g1vg aݿ v/ZbL|g tO|gM|g1vg $:; k/ZbL|g CO|gM|g1vg s|F8 /L|g xO|gM|g1vg #F$ /L|g xO|gM|g1vg ' Y /'L|g O|gM|g1vg +]j f/'L|g O|gM|g1vg /0o `/'L|g ~O|gM|g1vg 3b]Y ހ/h L|g Q N|gM|g1vg 7PH >/L|g N|gM|g1vg ;Nh /L|g N|gM|g1vg ?Y` b2L|g HN|gM|g1vg C b2L|g VN|gM|g1vg G b2EL|g N|gM|g1vg K)@ڻ Db2L|g RN|gM|g1vg O=5 b2L|g N|gM|g1vg Sq Ab2L|g SN|gM|g1vg WU{l b2< L|g 2N|gM|g1vg [BJ ʞb2< L|g N|gM|g1vg _QP8; Qb2lL|g FN|gM|g1vg cy V 0b2lL|g ON|gM|g1vg gj: ̏b2lL|gv1N|gM|g1vg kyS nb2L|gvVN|gM|g1vg o' bb2L|gvN|gM|g1vg sPy b2L|gvIN|gM|g1vg wBj Ob2J1L|gvN|gM|g1vg {3\< ,b2J1L|gvN|gM|g1vg )7v NTb2L|gv N|gM|g1vg a Sb2L|gvN|gM|g1vgN 'ʯ Qb2L|gv\N|gM|g1vg XNz@i b2L|gv5N|gM|g1vg NYon b2XXL|g@N|gM|g1vg @9 jb2XXL|gN|gM|g1vg |uyzw xb2L|g*u N|gM|g1vg = b2 L|g*uN|gM|g1vg q"J: Vb2DL|g*urN|gM|g1vg t< e9b2DL|g*uGN|gM|g1vg @= Dib2tL|g*uN|gM|g1vg B 1~b2 L|g*uN|gM|g1vg *UiY 7Sb2fL|gN|gM|g1vg p9oǭ b2fL|gN|gM|g1vg fW 7#b2fL|g N|gM|g1vg 3 fb2fL|g6N|gM|g1vg \>h* b2L|gN|gM|g1vg k|A |b2DL|gN|gM|g1vg @$9d b2tL|g N|gM|g1vg *P ~b2L|gN|gM|g1vg Vc `b2tL|gO|gM|g1vg ū"T xb2h L|g N|gM|g1vg ȫ Y b2L|gAN|gM|gM|g %TOD Sb2b2L|gO|gM|g1vg c#BF b2jaL|gAN|gM|gM|g %:CK /~b2b2L|g8AN|gM|gM|g %fZl ,b2b2L|g8%O|gM|g1vg J\Zn \b24[L|g8AN|gM|gM|g %Nu,S5 b2b2L|g8'O|gM|g1vg +$ѱG pb24[L|g8AN|gM|gM|g %t b2b2L|gF#CO|gM|g1vg" K@" b2L|gF#m{ O|gM|g1vg> $i7U b2 L|gF#O|gM|g1vg ˫/q b2L|gb2/O|gM|g1vg  ӫky_Sb Xb2L|gb2-O|gM|g1vg  ߫0S b2L|gb2AN|gM|gM|g %鹾4ɒ Wab2b2L|gb2kO|gM|g1vg s\? p' \b2,mL|gb2AN|gM|gM|g %QGR b2b2L|gs4 JO|gM|g1vg&  вb2h L|gs4AN|gM|gM|g %O/V, Rb2b2L|gs4%-N|gM|g1vg  YN Db2EL|gs4 N|gM|g1vg  җ3M D5b2.L|gs4%N|gM|g1vg &. Lb2.L|gs4AN|gM|gM|g %rl b2b2L|gs4O|gM|g1vg~ 0]<6N jb2*uL|gs4AN|gM|gM|g %A Nb2b2L|gʚ;J/O|gM|g1vg  .$R[ Yb2fL|gʚ;AN|gL|gL|g %]' ] <IIL|gʚ;AN|gM|gM|g %  0}b2b2L|gʚ; O|gM|g1vg 0 " Xb2NrSL|gʚ;AN|gM|gM|g %G"nv b2b2L|gI1 O|gM|g1vg ";7 b2QL|gIO|gM|g1vg  v۵ /b2NrSL|gIAN|gM|gM|g %ѫ ^cb2b2L|gI O|gM|g1vg 3>xp #lb2\L|gIAN|gM|gM|g %qDp b2b2L|gNO|gM|g1vgZ -Ϲ-@ b2(L|gNAN|gM|gM|g %`aD+ b2b2L|gNuO|gM|g1vg< C}M b2QL|gNAN|gM|gM|g %S 'b2b2L|gN8[O|gM|g1vg Wg c b2pL|gNAN|gM|gM|g %W b2b2L|gNrS{O|gM|g1vgv ;vrf b2"dL|gNrSAN|gM|gM|g %9> Kb2b2L|gNrSgO|gM|g1vg4 9$v b2.L|gNrSAN|gM|gM|g %*] vb2b2L|gNrSUO|gM|g1vg,  R'Wn* Tb2:tL|gNrSAN|gM|gM|g %l 'b2b2V!L|g,mKN|gM|g1vgJ %˼v?& b2ԀL|g,mAN|gM|gM|g$ %xes b2b2L|g,m O|gM|g1vg 2$ Ab2L|g,m O|gM|g1vg  &= Job2L|g,m O|gM|g1vg  Խ[ `b2L|g,m O|gM|g1vg #aE`! b2L|g,mp O|gM|g1vg &zi5 ob2L|g,mAN|gM|gM|g %: U {b2b2L|g,mNO|gM|g1vg )l? ^b2DL|g,m- O|gM|g1vg 0U'- b2DL|g,m^ O|gM|g1vg 3Jq )7b2DL|g,mHO|gM|g1vg 6)5^ Fb2DL|g,m7O|gM|g1vg >]p [b2tL|g,m O|gM|g1vg LфX +b2tL|gp 'O|gM|g1vg  OB!'τ .b2tL|gpWO|gM|g1vg  YӾI`Y+ b2tL|gp O|gM|g1vg ^!A<]W b2L|gprP|gM|g1vg b>( Kb2L|gprAN|gM|gM|g %a͏ b2b2L|gpr#-O|gM|g1vg  j*' z#b2tL|gpr#O|gM|g1vg  vxvI 9b2L|gprAN|gM|gM|g %>p Bb2b2L|gpr O|gM|g1vg V2 o ib2DL|gprAN|gM|gM|g %// sb2b2L|gprE`P|gM|g1vg Y+X 7b2L|gprAN|gM|gM|g %[4 Zb2b2L|g:td"O|gM|g1vg  ;/iUA" b2L|g:tP|gM|g1vg  4Cq% b2L|g:t P|gM|g1vg  Iq< b2L|g:tP|gM|g1vg  ŝ b2L|g:tAN|gM|gM|g %G(3  L|g:tAN|gM|gM|g %zU" Pb2b2dHL|g:t*Q|gM|g1vg  [ b2(L|g:t] Q|gM|g1vg BE53 b2%&L|g:tlQ|gM|g1vg  ! b2%&L|g:t Q|gM|g1vg  5 xb2%&L|g:tAN|gM|gM|g %/L7 qKb2b2dHL|g:tAeQ|gM|g1vg4 Ȉ, b2.L|g:tAN|gM|gM|g %GVdF b2b2 L|g:tFR|gM|g1vgl 6c/$ b2L|g:t2R|gM|g1vg  .v\ Mb2'L|g5w(0R|gM|g1vg  Lo Jb2'L|gy=*R|gM|g1vg  ̺CI rb2'L|gyAN|gM|gM|g % +MN b2b2 L|gyIDQ|gM|g1vg$ Yg;( b2XXL|gyQ|gM|g1vgx E4kS_# b2L|gyA N|gM|gM|gF %] s4s4 L|g\~ Q|gM|g1vg ׺q $b2L|g\~Q|gM|g1vg  ۺf~ Їb2L|g\~Q|gM|g1vg  1[Ֆ ;Mb2L|g\~Q|gM|g1vg Iu hb2J1L|g\~Q|gM|g1vg Z<; fb2L|g\~Q|gM|g1vg  g# b2J1L|g\~GQ|gM|g1vg  C Ib2J1L|g\~JQ|gM|g1vg E$b b2J1L|g\~Q|gM|g1vg  lb1 z?b2L|g\~ Q|gM|g1vg af rb2L|g\~ Q|gM|g1vg  Y >b2J1L|g\~ Q|gM|g1vg  &ɖ j.b2L|g\~o Q|gM|g1vg _= b2J1L|g\~ Q|gM|g1vg = s4%&L|g Q|gM|g1vgJ %]* Ms4F#L|g Q|gM|g1vg EȢ ids4%&L|g AN|gM|gM|g %. xs4s4dHL|g [JQ|gM|g1vg SՑDd Ԓs4tL|g Q|gM|g1vg  L3 Ls4L|gdHHGQ|gM|g1vg$ 8 aH s4L|gdH6HQ|gM|g1vg& J D cs4L|gAN|gM|gM|g %x"A _s4s4 L|g"R|gM|g1vg Qf Rs4 L|gAN|gM|gM|gY %%0'&Z ~s4s4 L|g$Q|gM|g1vg  U X 61s4FL|g7Q|gM|g1vg _f s4FL|g?Q|gM|g1vg  m+ s4BL|gkCQ|gM|g1vg" ]Ǿ %s4FL|g"NQ|gM|g1vg( nom Js4L|guNQ|gM|g1vg( Nf{| Cs4BL|g r(Q|gM|g1vg  }=B s4L|g Q|gM|g1vg  Kh =s4FL|g 4!Q|gM|g1vg  w3sc Ls4BL|g A N|gM|gM|gI %`Z s4s4 L|g N8Q|gM|g1vg 1Xe ?s4L|g Q|gM|g1vg 4^! s4BL|g Q|gM|g1vg }N us4BL|g S>Q|gM|g1vg  eAM s4L|g Q|gM|g1vg  Y@W QXs4L|g Q|gM|g1vg  »/e (xs4L|g Q|gM|g1vg  ǻDI[ l;s4L|g Q|gM|g1vg  ̻ Is4L|g <Q|gM|g1vg  ѻ7 s4L|g NQ|gM|g1vg  ֻm< / 6s4L|g Q|gM|g1vg  ۻÇq s4L|g Q|gM|g1vg  DY< s4L|g Q|gM|g1vg  pq Es4L|g Q|gM|g1vg O s4L|g Q|gM|g1vg ?S?c 8s4BL|g )Q|gM|g1vg  ۊQ s44[L|g Q|gM|g1vg =. Ns44[L|groFQ|gM|g1vg   ܬ} s44[L|groQ|gM|g1vg !Y `s4L|gro Q|gM|g1vg XFc0 's4L|gronQ|gM|g1vg  z/ِU s4L|groQ|gM|g1vg  eG us44[L|gro=Q|gM|g1vg #eF ls44[L|groWQ|gM|g1vg  *(|d ys44[L|gro#Q|gM|g1vg  /J6 s4 L|groGQ|gM|g1vg  8 Js4 L|groQ|gM|g1vg =;<7N s4 L|groVQ|gM|g1vg  DS8=' ؉s4 L|gѓ\Q|gM|g1vg  J4 s4PL|gѓQ|gM|g1vg P 2k gs4 L|gѓZQ|gM|g1vg  TQeh s4nL|gѓQ|gM|g1vg Y8 rs4nL|gѓQ|gM|g1vg  ]. s4^вL|gѓ[Q|gM|g1vg b ns4^вL|gѓQ|gM|g1vg f͸x6 EIs4nL|gѓ% Q|gM|g1vg mNÎOF s4^вL|gѓcQ|gM|g1vg  pv bs4nL|gѓQ|gM|g1vg u͖@X  s4nL|gѓQ|gM|g1vg  y T s4 L|gѓQ|gM|g1vg ~D WGs4^вL|gѓQ|gM|g1vg  y94 js4FL|gѓQ|gM|g1vg No s4PL|gѓ0;Q|gM|g1vg ʥ? Ys4L|gѓCQ|gM|g1vg '!>9 s4FL|gѓAN|gM|gM|g' %DP s4s4dHL|gѓ(Q|gM|g1vg  w<Ԝe Hcs4 L|gѓ8Q|gM|g1vg N s4 L|ggQ|gM|g1vg   ]t ds4.L|gAN|gM|gM|g %ʆ[h s4s4dHL|gAQ|gM|g1vg" w L jC |s4ԀL|gkQ|gM|g1vg6  s4.L|gOkQ|gM|g1vg6 ¾7@ JQs4ԀL|gQ|gM|g1vg  Pw0 Qs4.L|g<Q|gM|g1vg  ǰ&w s4ԀL|g Q|gM|g1vg  װQH?S ls4zL|gQ|gM|g1vg ܰVޔ_- Ys4zL|gA N|gM|gM|gL %ڸT Cs4s4dHL|g@?Q|gM|g1vg  #hKl L?s42L|gQ|gM|g1vg  [ke /s4 L|g1Q|gM|g1vg  j3 ; Zys4 L|gQ|gM|g1vg  pS | s4 L|gQ|gM|g1vg  hT s4lL|g Q|gM|g1vg  {[ es4YL|gQ|gM|g1vg   : s4YL|g*Q|gM|g1vg  ЊhRe s4YL|gQ|gM|g1vg ޮ9i ˹s4YL|gQ|gM|g1vg k%' s4YL|gQ|gM|g1vg  !kD 8s4YL|g:Q|gM|g1vg  &(= ܇s4YL|gQ|gM|g1vg  +lHB} Fs4 L|guQ|gM|g1vg  1 Es4L|gQ|gM|g1vg  6+#e7 cs4L|gQ|gM|g1vg  ;3 6s4L|gQ|gM|g1vg  @ms s4L|gH,Q|gM|g1vg  En#_#T s4L|g4[ Q|gM|g1vg Q,9yn @s4lL|gQ|gM|g1vg TG[ ԍs4lL|g Q|gM|g1vg \_L ps4L|gQ|gM|g1vg  `EC &s4L|g5Q|gM|g1vg  e^ s4lL|g/Q|gM|g1vg jԇV s4lL|gbQ|gM|g1vg  r{ Wls4lL|gVQ|gM|g1vg, ݾm ^s4ԀL|gQ|gM|g1vg  wPd/ s4zL|giQ|gM|g1vg }I4 _s4zL|gAN|gM|gM|g %PcF Xs4s4dHL|g}Q|gM|g1vg@  =Y as4lL|gAN|gM|gM|g %e~ s4s4dHL|gqQ|gM|g1vgB !PG ecs4L|g1Q|gM|g1vg k7 ips4tL|gU.Q|gM|g1vg  9B s4DL|g2Q|gM|g1vg  HX5+p s4tL|g1Q|gM|g1vg  ZA1p hs4tL|gCQ|gM|g1vg" w=Q s4DL|gAN|gM|gM|g %YW =&66 L|gQ|gM|g1vg H%_N ;36L|g Q|gM|g1vg @A+{lE 6L|gAN|gM|gM|g %L  0<66 L|gB) Q|gM|g1vg 0i f6EL|gBQ|gM|g1vg  Rg 3L6EL|gBeQ|gM|g1vg4 %q" q6EL|gBAN|gM|gM|g %a/pC+ W66 L|gBzQ|gM|g1vg  ñEU" M6EL|gBA4N|gM|gM|g % % 4,E p89p89dHL|gBA N|gM|gM|g4 %L4 wp89p89dHL|gBQ|gM|g1vgH $guE p89L|gB/Q|gM|g1vg  ɱH (yp89 L|gu.Q|gM|g1vg  ձ^. [p89 L|g+Q|gM|g1vg  |rT p89 L|gmQ|gM|g1vg8  kCA' ^Wp89dHL|gFkQ|gM|g1vg6 cU1D =p89dHL|gF#lQ|gM|g1vg8 ܿ}p? Cp89dHL|gFrQ|gM|g1vg: @P p89dHL|gF[rQ|gM|g1vg: oaK \p89L|gFKQ|gM|g1vgB !;wr p89L|gPLQ|gM|g1vg( \)" OMp89L|gPwQ|gM|g1vg< pn[|Pg Vp89L|gP}Q|gM|g1vg@  x) Egp89 L|gP Q|gM|g1vgB !O ~p89 L|gP[{Q|gM|g1vg>  pY( p89 L|g Q|gM|g1vgB !Y ] p89 L|g 2Q|gM|g1vg  2 p89roL|g A N|gM|gM|g1 %⏭ |op89p89dHL|g eQ|gM|g1vg ">w$$j Kp89roL|g /Q|gM|g1vg *W*mH 7p89L|g^вQ|gM|g1vg / cUp89&4L|g^в+Q|gM|g1vg  .P |=p89L|g^в'Q|gM|g1vg  U wp89&4L|g^в,Q|gM|g1vg  hR* \p89&4L|g^вQ|gM|g1vg ) B0 zPp89ѓL|g^вi&Q|gM|g1vg  0`r p89L|g^в.Q|gM|g1vg :_Lnc p89L|g^вQ|gM|g1vg AWj ] i#p89&4L|g^вl!Q|gM|g1vg  HUGY_ ^p89L|g^вQ|gM|g1vg Qb07 ZYp89ѓL|g^в=Q|gM|g1vg Ya.Δ p89L|g^в Q|gM|g1vg  `q*[ p89L|g^вHQ|gM|g1vg id =p89ѓL|g2Q|gM|g1vg p:kDZ fp89ѓL|g2&Q|gM|g1vg  x M` 67XL|g2Q|gM|g1vg a 6IL|g2<Q|gM|g1vg  G;x 6@KLL|gl Q|gM|g1vg rnD 06NL|gH(Q|gM|g1vg  ir jZ6NL|gQ|gM|g1vgN 'Sb 6NL|gsQ|gM|g1vg 8) w6NL|go Q|gM|g1vg Uka ^6QL|g5Q|gM|g1vgH $ȳM2 6IL|g-Q|gM|g1vg  /Eס k6QL|gQ|gM|g1vg   <` 46QL|glQQ|gM|g1vg* $1 6QL|gl Q|gM|g1vg hWM  6QL|gYQ|gM|g1vg  P0 6NrSL|gYQ|gM|g1vg  2! 67XL|gYvQ|gM|g1vg< n E *6xhL|gY#Q|gM|g1vg  ŴA w6xhL|gY1Q|gM|g1vg  ʴmC' 6NrSL|gY|Q|gM|g1vg@  !cv t<6NrSL|gY!Q|gM|g1vg  ״ 8Vgc 6NrSL|g 'Q|gM|g1vg  ܴcx n6UL|g Q|gM|g1vg  ]n. 6UL|g -Q|gM|g1vg  l2 y6UL|g Q|gM|g1vg 45w= #6UL|g :Q|gM|g1vg   @6UL|g !Q|gM|g1vg 5VF 67XL|g ,Q|gM|g1vg   y62$EL|gԀ%Q|gM|g1vg  Je g6GL|gԀX'Q|gM|g1vg   t 6@KLL|g.(Q|gM|g1vg  %%:0S -6@KLL|g./4Q|gM|g1vg 0%2D l;6GL|g.Q|gM|g1vg >5u ?6GL|g.CQ|gM|g1vg" . o6GL|g.Q|gM|g1vg Fz^/ v6fL|g.08Q|gM|g1vg J= 6\ZL|g.BQ|gM|g1vg Y_$z 6\ZL|g.BCQ|gM|g1vg" Aoh 6\L|g.UQ|gM|g1vg  ab% 6fL|gEQ|gM|g1vg glM j6jaL|gE0Q|gM|g1vg  nV ] 6"dL|gEeQ|gM|g1vg  s`[A &o6"dL|gE'Q|gM|g1vg  xЁP 6\L|gEQ|gM|g1vg 4 6fL|gE@Q|gM|g1vg ` 1/6jaL|gED!Q|gM|g1vg  g [6\L|gEjQ|gM|g1vg &1 >6jaL|gEQ|gM|g1vg Ӏ]9 /S6jaL|gE?Q|gM|g1vg X;] n6\L|gEQ|gM|g1vg aw 6\L|gEQ|gM|g1vg =' a6"dL|gEpQ|gM|g1vg  K6^_L|gEQ|gM|g1vg ŵ1Η_ !U6^_L|gEQ|gM|g1vg ͵ꟶX_ 6jaL|g< Q|gM|g1vg  ԵCc}! >W6^_L|g< Q|gM|g1vg  ڵH? Q~6^_L|g< oQ|gM|g1vg  ߵovVv \6jaL|g< JQ|gM|g1vg z 6"dL|g< Q|gM|g1vg  76"dL|g< *Q|gM|g1vg 6-Z 6"dL|g< (Q|gM|g1vg  R Ԣ6jaL|g< Q|gM|g1vg  |g 6"dL|g< 6bQ|gM|g1vg2 Rqb"S2 6xhL|g< Q|gM|g1vg  U.3 -6,mL|g< HQ|gM|g1vg  Fy 6,mL|g< Q|gM|g1vg oa? 7]6,mL|g< VQ|gM|g1vg   fJ# M6,mL|g< Q|gM|g1vg XL& 6,mL|g< Q|gM|g1vg  %/c 6pL|g< NQ|gM|g1vg *= `6pL|g< Q|gM|g1vg  .)xB 6pL|g< +Q|gM|g1vg  4ywd[ 6:tL|g< Q|gM|g1vg  ?l<Y g6pL|g< Q|gM|g1vg  DR * 6prL|g< Q|gM|g1vg  Ic6 x26pL|g< Q|gM|g1vg N \O6pL|g< /Q|gM|g1vg  Rpz -6pL|g< Q|gM|g1vg Xt {u6pL|g< Q|gM|g1vg  _9Q5% 6prL|g< Q|gM|g1vg  d55Dw 6prL|g< 2Q|gM|g1vg jJ?> _@6prL|g< Q|gM|g1vg  q%{ 6:tL|g< EQ|gM|g1vg  v> ̴6:tL|g< Q|gM|g1vg |qA B6prL|g< " Q|gM|g1vg T'Z (6:tL|g< Q|gM|g1vg  psW !6:tL|glQ|gM|g1vg  #|F J6:tL|glQ|gM|g1vg  >W [6L|gQ|gM|g1vg  `to D65wL|g Q|gM|g1vg ;R8 65wL|glQ|gM|g1vg   ٝ f65wL|gQ|gM|g1vg  sP, >d65wL|gQ|gM|g1vg  iV %65wL|g=Q|gM|g1vg  ~f .6IkL|g+Q|gM|g1vg  šS2~8 65wL|g Q|gM|g1vg Us1l 65wL|gRQ|gM|g1vg  w ʰ65wL|g~ Q|gM|g1vg hɿ 65wL|gQ|gM|g1vg .D >6yL|gQ|gM|g1vg  K9w ;]6yL|gQ|gM|g1vg  f/ 6yL|gi9Q|gM|g1vg wrH^ 6yL|gQ|gM|g1vg  2D j6yL|g Q|gM|g1vg p89L-L|gXX%Q|gM|g1vg  m  p89T*L|gXXQ|gM|g1vg $F 6p89(L|gXXR3Q|gM|g1vg  n 1p89L-L|gXX Q|gM|g1vg 6' vp89/L|g | Q|gM|g1vg -<ې p89/L|g  Q|gM|g1vg  >p89/L|g +Q|gM|g1vg  mƸ -Op89(L|g "Q|gM|g1vg  Ap89T*L|g )Q|gM|g1vg  :"R p89T*L|g #Q|gM|g1vg  :H#"= Up89(L|g Q|gM|g1vg  :˧0d M p89T*L|g #Q|gM|g1vg  : p89T*L|g Q|gM|g1vg $:ER/3 "p89L-L|g -Q|gM|g1vg  +: H  jp89/L|g 0 Q|gM|g1vg  7:%S 5p89L-L|g Q|gM|g1vg @:frT 7p89~_@L|g *Q|gM|g1vg  H:%Z/ )p89~_@L|g yQ|gM|g1vg  S: tst p89~_@L|gf(Q|gM|g1vg  Y:ODY p89~_@L|gfQ|gM|g1vgN 'O^Ϻ tp89BL|gf!Q|gM|g1vg  d:Rd ʚ;~_@L|gfi#Q|gM|g1vg  m:_J hʚ;BL|gf%Q|gM|g1vg  v:խU(5 ʚ;$=L|gf  ʚ;M|gAN|gM|gM|g  4=ԭ ʚ;ʚ;dHM|gAN|gM|gM|g 4z+- ʚ;ʚ;dHM|gdQ|gM|g1vg Z81`WT ʚ;fM|gNQ|gM|g1vg(  ҽ`Y ʚ;M|gFpQ|gM|g1vg ]}-kf[E3 ʚ;XXM|g'AN|gM|gM|g 4dI њʚ;ʚ; M|gN4Q|gM|g1vgj 59-` ʚ;M|gNAN|gM|gM|g 4S 3ʚ;ʚ;dHM|gNQ|gM|g1vg  ;nR ʚ;2M|gNAN|gM|gM|g 4\ ʚ;ʚ; M|gN|+R|gM|g1vg  ;s?Y 6ʚ;M|gNj3R|gM|g1vg  ;0 sʚ;M|gNfR|gM|g1vg4 9iA ʚ;M|gN`R|gM|g1vg2 4[6 %0ʚ;vM|gNsqR|gM|g1vg: /bZ{4y sʚ;vM|gvR|gM|g1vg  ;e` 0ʚ;vM|gvR|gM|g1vg  ;z$ "vʚ;M|gAN|gM|gM|g 4nD} Cʚ;ʚ;dHM|gQ|gM|g1vg ;3> uʚ;^вM|gBQ|gM|g1vg" MVDu qʚ;2M|gMQ|gM|g1vg ;] ʚ;^вM|gQ|gM|g1vgH $[8a1 ʚ;^вM|gAN|gM|gM|g 4t V!M|gAN|gM|gM|g 4Js S'V!M|gAN|gM|gM|g 42. vʚ;ʚ;V!M|g6O|gM|g1vg ;X4 DIʚ;.M|gAN|gM|gM|g 4.C)r 88V!M|g*uAN|gM|gM|g 4g; ʚ;ʚ;V!M|g*u+Q|gM|g1vg  ;B,?' C$ʚ;M|g*u9zQ|gM|g1vg _iY x ʚ;9M|g*urQ|gM|g1vg: 6K ʚ;9M|g*uvQ|gM|g1vg G8]F 8.ʚ;M|gAN|gM|gM|g 4u/ ~ʚ;ʚ;V!M|gQ|gM|g1vg B6l1 oʚ;`!M|g"Q|gM|g1vg  ;xn :ʚ;F#M|g9)Q|gM|g1vg  ;]!85 ʚ;F#M|g9AN|gM|gM|g 4>p 99V!M|g9AN|gM|gM|g 4V ʚ;ʚ;V!M|g9Q|gM|g1vg BO/ 1 "ʚ;M|g9bQ|gM|g1vg gYjٳ[A PLʚ;8M|g9Q|gM|g1vgH $8?AJM *ʚ;M|g8AN|gM|gM|g 4fq ʚ;ʚ;V!M|g8Q|gM|g1vgD "@7-d nʚ;F#M|g8 R|gR|gR|g s9 T*(F#R|gF#U|gR|gR|g +e4 37T*T*fR|gT*R|gM|g1vg  ;#&]0 :[%&GM|gPR|gR|gR|g +=s EIIIR|gIR|gR|gR|g +ms PIIGR|gGR|gM|g1vgT */Zt Y%&GM|gR|gR|gR|g y8m 6\`!8R|g8yR|gR|gR|g _g9H/ F#`!`!R|g`!z`|g`|g`|gz 4$V. T*T*T*`|gT*yN|gM|g1vg> b71oAI %&M|g`!7U|gR|gR|g + 1' uL-L-fR|gL-R|gR|gR|gj 5@;b_R /G~_@/R|g/R|gR|gR|g  +a GGGR|gGR|gR|gR|g 9:[fH]l r//L-R|gL-An|gM|gM|g 4Bp=; <"%&%&V!M|g%&An|gM|gM|g 4`G ʚ;ʚ;V!M|g%&1vgM|g1vg .-XW ʚ;M|g%&M|gM|gM|glibmount.so.1.1.0!7 W2$EBBM|gBH&<& ;6N|gb2pOgN|gOg ]HaQ9 6N|gb2An|gN|gN|g /,C& 66dHN|gb2OgN|gOg ]:[ 6N|gb20OgN|gOg ]"B+; .6N|gb2OgN|gOg ]e\ 6N|gb2An|gN|gN|g /+3# Þ66dHN|gb2jOgN|gOg ]}u= 6N|gb2OgN|gOg ]JP~$ 6N|gb2An|gN|gN|g /Je ڎ66dHN|gb2OgN|gOg ]~ye %6N|gb2 OgN|gOg ]UF'p I6N|gb2eOgN|gOg  ]?7s 6N|gb2An|gN|gN|g /  66dHN|gb2OgN|gOg  ]\'5- 6N|gb2WOgN|gOg  ]7 m6N|gb2An|gN|gN|g y8{IO 66dHN|gb2OgN|gOg ] lH6N|gb2OgN|gOg ]no2 J6N|gb2OgN|gOg ]#y;YH 26N|gb2 n|gN|gOg ]> 6UN|gb2SOgN|gOg ]%( mG6N|gb2lOgN|gOg ]4W Ƨ6N|gb2An|gN|gN|g z8.@Q:ܰ -P66dHN|gb2 OgN|gOg ]Os; +6N|g6JOgN|gOg !]No$I 6N|g6OgN|gOg )](S.6 46N|g6OgN|gOg *]#K" 6N|g6 OgN|gOg +])>G \xhN|g2$E&R|fN|gR|f []?N BxhN|g2$E R|fN|gR|f ]]{iz: axhN|g2$E4R|fN|gR|f _]c xhN|g2$E&R|fN|gR|f a]D=*N 1UxhN|g2$E&R|fN|gR|f c]y˒Z }xhN|g2$E R|fN|gR|f e]>GJ xhN|g2$E4R|fN|gR|f g]`}0 "IkN|g2$E@R|fN|gR|f i]fb m9IkN|g2$EBR|fN|gR|f k]h1? IkN|g2$E&R|fN|gR|f m]H[D tMIkN|g2$ER|fN|gR|f o]M0/ fN|g2$ER|fN|gR|f q]fc FxhN|g2$ER|fN|gR|f r]D &fN|g2$ELR|fN|gR|f s]> P]fN|g2$ER|fN|gR|f u]j }0 fN|g2$E2R|fN|gR|f v]ѕ\ !fN|g2$ENR|fN|gR|f w] 5 fN|g2$EjR|fN|gR|f y]B fN|g2$ER|fN|gR|f z]N}t7 (fN|g2$Ej R|fN|gR|f {];(T_ nfN|g2$ER|fN|gR|f ~]2c IfN|g2$ER|fN|gR|f ] U cfN|g2$E`R|fN|gR|f ]irѐ fN|g2$ER|fN|gR|f ] toI IfN|g2$ER|fN|gR|f ]Yx ufN|g2$ER|fN|gR|f ]n=v prN|g2$ENR|fN|gR|f ]=L )"fN|g2$ER|fN|gR|f ]ŧk >fN|g2$E<R|fN|gR|f ]g^d fN|g2$EhR|fN|gR|f ]^ Wj prN|g2$EzR|fN|gR|f ]> 1fN|g2$ER|fN|gR|f ]SLe 8fN|gGNR|fN|gR|f ]q< fN|gGR|fN|gR|f ]`N# ]fN|gG R|fN|gR|f ]mo prN|gGR|fN|gR|f ]WA ( <prN|gG R|fN|gR|f ] ,,mN|gGR|fN|gR|f ]%Fg mfN|gGR|fN|gR|f ]n# ]6fN|gG R|fN|gR|f ]S UpN|gGR|fN|gR|f ]fe fN|gGR|fN|gR|f ]&]|[ [BprN|gGR|fN|gR|f ]dXT VfN|gGR|fN|gR|f ]&ӖE TfN|gGaR|fN|gR|f ]3٧ MxhN|gG R|fN|gR|f ]-t fN|gG*R|fN|gR|f ]|o /fN|gGR|fN|gR|f ]G fN|gGR|fN|gR|f ]{] :fN|gGR|fN|gR|f ]|6 fN|gG` R|fN|gR|f ]Č< q,mN|gGp R|fN|gR|f ]T ?fN|gGR|fN|gR|f ]O fN|gGAn|gN|gN|g /8ES" IkIkN|gG R|fN|gR|f ]*2C DprN|gGR|fN|gR|f ]#0C^ l(IkN|gGR|fN|gR|f ]Wy /IkN|gGR|fN|gR|f ]Y IkN|gGR|fN|gR|f ]sM_ EIkN|gGR|fN|gR|f ]?L[iI{ 6/IkN|gGR|fN|gR|f ]Lۛ IkN|gGR|fN|gR|f ]wyW{ vfN|gIR|fN|gR|f ]86X -xhN|gIR|fN|gR|f ]Tr[ =fN|gI1 R|fN|gR|f ]bhӬ BxhN|gIAn|gN|gN|g /̧R&R IkIkN|gI R|fN|gR|f ]> "IkN|gI@ R|fN|gR|f ]6!f+ IkN|gIR|fN|gR|f ]†2 xhN|gIR|fN|gR|f ]ל xhN|gI$ R|fN|gR|f ]99 prN|gIR|fN|gR|f ]Sj ) qxhN|gIR|fN|gR|f ]re xhN|gINR|fN|gR|f ]ָIkN|gQfR|fN|gR|f rSo 'IkN|gQCR|fN|gR|f s% 9IkN|gQQR|fN|gR|f tե IkN|gQR|fN|gR|f vKVb aIkN|gQR|fN|gR|f w7G" QpN|gQAR|fN|gR|f x%__ dIkN|gQR|fN|gR|f yE.H @+IkN|gQR|fN|gR|f { nIkN|gQ R|fN|gR|f qO 5IkN|gQQR|fN|gR|f Ė& IkN|gQR|fN|gR|f qL IkN|gQmR|fN|gR|f 6 }!IkN|gQR|fN|gR|f YMN> wIkN|gQR|fN|gR|f )wL pN|gQR|fN|gR|f 鞭 l IkN|gQR|fN|gR|f 5.@b xIkN|gQT R|fN|gR|f :'Jn e,mN|gQR|fN|gR|f  JFB[ aIkN|gQR|fN|gR|f %l ;IkN|gQ{R|fN|gR|f  IkN|gQR|fN|gR|f (/ ڝ,mN|gQR|fN|gR|f &WI KIkN|gQR|fN|gR|f  IkN|gQR|fN|gR|f $" MIkN|gQR|fN|gR|f T @,mN|gQR|fN|gR|f =FU OIkN|gQR|fN|gR|f *, IkN|gQR|fN|gR|f G] $ e,mN|gNrSHR|fN|gR|f &h jIkN|gNrSR|fN|gR|f  /5 pN|gNrSR|fN|gR|f qBi' IkN|gNrSR|fN|gR|f ůk PIkN|gNrSR|fN|gR|f 3DRs IkN|gNrSR|fN|gR|f ֱU .IkN|gNrSaR|fN|gR|f r$~M IkN|gNrSR|fN|gR|f , IkN|gNrSR|fN|gR|f ٛR 1tIkN|gNrSR|fN|gR|f | u&IkN|gNrSR|fN|gR|f ZZ$ pN|gNrSR|fN|gR|f 'f{F: IkN|gNrS3R|fN|gR|f  g} IkN|gNrSiR|fN|gR|f %h IdIkN|gNrSR|fN|gR|f %st ,mN|gNrSR|fN|gR|f J=l k,mN|gNrSAR|fN|gR|f yF ,mN|gNrSR|fN|gR|f +5WM] ,mN|gNrSR|fN|gR|f ^GL Y,mN|gNrSR|fN|gR|f XC ,mN|gNrS5R|fN|gR|f 5d; ",mN|gNrSR|fN|gR|f < d,mN|gNrSR|fN|gR|f ׆I2 ,mN|gNrSR|fN|gR|f Q V,mN|gNrSR|fN|gR|f : F',mN|gNrSR|fN|gR|f R yn B,mN|gNrSqR|fN|gR|f \N ,mN|gNrSAn|gN|gN|g% /)R ,m,m\~N|gUr R|fN|gR|f ;#]p ,mN|gU\ R|fN|gR|f aԹ ,mN|gUiR|fN|gR|f #2X ,mN|gUR|fN|gR|f ](F D,mN|gUR|fN|gR|f  ,mN|gU1 R|fN|gR|f r#@ θ,mN|gUR|fN|gR|f 5 jS FC,mN|gUR|fN|gR|f Y͂> ݳ,mN|gUA n|gN|gN|gF /ŤLXs Y,m,m\~N|gUR|fN|gR|f ;; |,mN|gUR|fN|gR|f | q4,mN|gUR|fN|gR|f cB {,mN|gUR|fN|gR|f R< ,mN|gU6 R|fN|gR|f  "` \,mN|gUER|fN|gR|f vi%u #,mN|gUR|fN|gR|f ); >Z,mN|gU6R|fN|gR|f Y"V 8,mN|gUR|fN|gR|f  30,mN|gUR|fN|gR|f {{y A,mN|gUR|fN|gR|f ,F& &,mN|g7XAn|gN|gN|g /G %R,m,m\~N|g7Xu R|fN|gR|f H'; pN|g7XAn|gN|gN|g /Wa4/ ,m,mV!N|g7XAn|gN|gN|g /sU Ų,m,mV!N|g7XR|fN|gR|f sS /pN|g7XR|fN|gR|f CTؙ ',mN|g7X R|fN|gR|f Kv[ c,mN|g7XAn|gN|gN|g j /ZeH WE,m,mV!N|g7XrR|fN|gR|f  ݼڏ ,mN|g7XtR|fN|gR|f 4yޣ b,mN|g7XuR|fN|gR|f Q}Ta u9,mN|g7XuR|fN|gR|f !'$ ,mN|g7XuR|fN|gR|f z>B ,mN|g7XtR|fN|gR|f 1l9Z ,mN|g7XtR|fN|gR|f 3> (i,mN|g7XtR|fN|gR|f ͯF ,mN|g7XtR|fN|gR|f X׸ +,mN|g7XtR|fN|gR|f x ,mN|g7XtR|fN|gR|f  y ,mN|g7XtR|fN|gR|f  UA\Z XD,mN|g\ZtR|fN|gR|f  (28.8 ,mN|g\ZuR|fN|gR|f  jS U,mN|g\ZvR|fN|gR|f  PZz h,mN|g\ZvR|fN|gR|f d7%!> J,mN|g\ZvR|fN|gR|f } @ ,mN|g\ZvR|fN|gR|f S ,mN|g\ZvR|fN|gR|f B i~,mN|g\ZuR|fN|gR|f kk]C b,mN|g\ZuR|fN|gR|f -R ,mN|g\ZuR|fN|gR|f +e y,mN|g\ZuR|fN|gR|f c+ (,mN|g\ZuR|fN|gR|f ֥: "X,mN|g\ZuR|fN|gR|f rџ c ,mN|g\ZuR|fN|gR|f 8# ,mN|g\ZuR|fN|gR|f ڋ {,mN|g\ZrR|fN|gR|f }8A. ,mN|g\ZAn|gN|gN|g 08. ٳpp\~N|g\ZR|fN|gR|f uX (B,mN|g\ZR|fN|gR|f NɌ ,mN|g\ZPR|fN|gR|f v/$ _pN|g\ZR|fN|gR|f #| PpN|g\ZR|fN|gR|f %. FpN|g\ZR|fN|gR|f (0nt k,mN|g\Z@ R|fN|gR|f +f~} ,mN|g\ZuR|fN|gR|f .2 2pN|g\ZV R|fN|gR|f 0t ʺpN|g\Z R|fN|gR|f 3@6 %pN|g\lR|fN|gR|f 6,P ApN|g\R|fN|gR|f 8.~Ҽ KpN|g\HR|fN|gR|f :LZ1 lLpN|g\R|fN|gR|f =2K pN|g\ R|fN|gR|f ?oA 5pN|g\6 R|fN|gR|f Ca ^hpN|g\< R|fN|gR|f F d dZpN|g\R|fN|gR|f Imng RpN|g\ R|fN|gR|f Km [pN|g\R|fN|gR|f Nd"k pN|g\R|fN|gR|f Pq pN|g\Q R|fN|gR|f S5>z pN|g\R|fN|gR|f Vhտ rpN|g\R|fN|gR|f Xkg qBpN|g\R|fN|gR|f Z>^jְ pN|g\R|fN|gR|f \. 1%pN|g\dR|fN|gR|f _ 9SO pN|g\$R|fN|gR|f b! ` 6pN|g\R|fN|gR|f ekf C8pN|g\R|fN|gR|f gQ"J$ 2pN|g\rR|fN|gR|f j~ײ[ ,pN|g\R|fN|gR|f m'@ "pN|g\^ R|fN|gR|f oWsJ 3EpN|g\tR|fN|gR|f r/F #"dN|g^_IR|fN|gR|f sD1Հ CmprN|g^_An|gN|gN|g" 8uaԷxo RnppV!N|g^_R|fN|gR|f t.< pN|g^_R|fN|gR|f u`"` pN|g^_R|fN|gR|f v[D .tpN|g^_.R|fN|gR|f ws>]z ;pN|g^_An|gN|gN|g 8P0W 9ppV!N|g^_R|fN|gR|f xѧ} 7pN|g^_An|gN|gN|g  88CB nprprN|g^_VR|fN|gR|f {@d pN|g^_R|fN|gR|f |g2Jc AlpN|g^_ R|fN|gR|f }@> 5pN|gjaR|fN|gR|f ~O00 6pN|gjaR|fN|gR|f &̜7 ZpN|gja4R|fN|gR|f e pN|gjaR|fN|gR|f "hBR /prN|gjaR|fN|gR|f z pN|gjaR|fN|gR|f V 0pN|gjaR|fN|gR|f H& (prN|gjaR|fN|gR|f zi5< 0prN|gjaR|fN|gR|f ,<7 pN|gjaQR|fN|gR|f ׀x$ sxpN|gjaR|fN|gR|f OL pN|gjaR|fN|gR|f  'prN|gjaR|fN|gR|f -L pN|gjaR|fN|gR|f N֎1 pN|gjabR|fN|gR|f Į 15pN|gja"R|fN|gR|f  ]. pN|gjaR|fN|gR|f x U TOprN|gjaR|fN|gR|f mb (prN|gjaMR|fN|gR|f E{ prN|gjaR|fN|gR|f i PprN|gjafR|fN|gR|f XgU` ?prN|gjaAn|gN|gN|g% 8 s` u2prprV!N|gja$R|fN|gR|f  YN yc"dN|g"dR|fN|gR|f  %U J"dN|g"d$WIR|fN|gR|f& 8tBS "dN|g"d$fDR|fN|gR|f$ 7X_) "dN|g"dR|gR|gR|g  \Z\Z\ZR|g\Z]T|gR|gR|g X8'70W 88`!R|g9\|g\|g\|g.gە 7p89p89p89\|gp89`|gn|gn|gn|g !` x:t:t5w`|g5wAn|gm|gm|g /8.} мF#F#_|g m|gm|gm|g F*Ϩ `F#F#7Xm|gF#Am|g`|g`|g {8T68 88\Z_|g "m|g_|gug  P|W9' Iz\Z_|g |-m|g_|gug  Y|-% :uzf_|g 78m|g_|gug e|Ƭ6  Y`zԀ_|g 0m|g_|gug  t|( HzXX_|g m|g_|gug |+Cm3M hvzf_|gNm|g_|gug | <)ۙ cz_|gNug_|gug |/"? jz_|gNug_|gugb 1 a>*h Hfz_|gN  ug_|gug A,E PԀ_|g ug_|gug\ Bq`V Ԁ_|g9@*ug_|gug K^P yԀ_|g%&ug_|gug |E3 Ԁ_|g%&x ug_|gug C+_j lԀ_|g%&ug_|gugR )-3ٷΎ KԀ_|g(+ug_|gug K&2NP'W Ԁ_|gL-P&ug_|gug J$ Ԁ_|gL-<ug_|gug Oq>T~H `Ԁ_|gb2=m|g_|gug :Z) +ԀH{_|gb2PJ ug_|gug& V5] 5NԀ_|gs4'ug_|gug i;)L` Ԁ_|gI ug_|gug Ao# k2Ԁ_|gNim|g_|gug [\mK Ԁ_|gUTug_|gug,  ŭ Ԁ_|gU ug_|gug   K.= Ԁ_|gjal|g_|gugh @t' Ԁ _|gIk ug_|gug Jc Ԁ_|gH{!m|g_|gug  |76+@ Ԁ%&_|g ug_|gugf 3n_(Vip Ԁ_|g  m|g_|gug  ֏ \ Ԁ(_|g ug_|gug  |e.6# Ԁ_|g ug_|gug |zF Ԁ_|g4 ug_|gug < :Ԁ_|gug_|gug |( tԀ_|gFAn|g_|g_|g =b[t3 ԀԀV!_|gFug_|gug  |3 % Ԁ_|gFug_|gugh 4L e{ ;PԀ_|gF&m|g_|gug  |@ Ԁ%&_|gFR$m|g_|gugj 5 5X+DUB lԀ*u_|gFAn|g_|g_|g =~ 6zzV!_|gzm|g`|gug |s6_b c8_|g_m|g`|gug |6 '8 _|gAn|g_|g_|g u<E*%') _|gAl|g`|g`|gls <y<`PQS S(( _|g=m|g`|gug  | h8h _|gug`|gug |[_a 8_|g(l|g`|gug | IgL p8_|gug`|gug |M*09 8_|gl|g`|gug |K 8_|gug`|gug  |NC] :8_|g!m|g`|gug  |AJ [8h _|gug`|gug  |uu e8_|g@l|g`|gug |p /8D_|g(ug`|gug |޺&r l8_|g@Vm|g`|gug, _ e 8_|gP1ug`|gug  | fl- o8_|gl|g`|gug |gڻ\V ͷ8E_|gPug`|gug |.Qz 8_|g`m|g`|gug |k] ~8_|g(ug`|gug |3h9 X8_|gm|g`|gug  |*&/ 8_|gP ug`|gug |E4.z Au8_|gl|g`|gug  }ܳu 8_|g8 ug`|gug }Ş Z8_|gm|g`|gug  }g c8_|g( ug`|gug }f68 48_|g"l|g`|gug  })23 38_|gug`|gug  }̽ 8_|gp l|g`|gug "}8&gY |8J1_|g< ug`|gug %}N vL8_|g< %l|g`|gug  '}Zw ?8< _|g< ug`|gug  1}& 5O8_|g<  l|g`|gug 7}ftk T8._|g< ug`|gug ;}I t8_|g< `l|g`|gug  =}S L8E_|g< @ug`|gug C}$ 8_|g< X l|g`|gug G} TPU "8_|g< ug`|gug K}kv ޙ8_|g< l|g`|gug M}1H 48D_|g< `ug`|gug P}౭g 78_|g< l|g`|gug R}K 8< _|g< ug`|gug V}UX= "8_|g< l|g`|gugb 14u! 8f_|g< xjug`|gug6 _xz 8_|g< P l|g`|gug X}dA.B\ 8_|g< ug`|gug \}#4; Y8_|g< mm|g`|gug8  j [8N_|g< XBug`|gug" CQiVu 8_|g< l|g`|gug ^}(6[ 8Ԁ_|g< 0ug`|gug a}c 8_|g< l|g`|gug  c}Kz&' 8_|g<  ug`|gug h}ƭ` l8_|g< Hl|g`|gug  k}e26 d8t_|g< ug`|gug q}愸{ #8_|g< m|g`|gug  t}GM= 8Zb_|g< ug`|gug z}Cw <8_|gll|g`|gug ~}2r5, 8< _|glug`|gug }a<> }8_|gll|g`|gug }!gP 8t_|glug`|gug }LyE A8_|gl@l|g`|gug  }ߒ 8l_|gl ug`|gug }Fh 8_|gl@ l|g`|gug  }K|ƒ 8l_|glug`|gug  }2%.a H8_|gll|g`|gug  }I !8_|glug`|gug }$w\ 8_|gl l|g`|gug }IfVe KK8._|glug`|gug }p5e| L8_|glm|g`|gug }0Λ v_|glug`|gug }, _|glkm|g`|gug }jD _|gl` l|g`|gug }7][ +_|glug`|gug }i$ #_|gll|g`|gug  }\;  _|gl(ug`|gug }mm1}F 5_|glm|g`|gug  }pPv _|gl(ug`|gug }ɵ9 Z_|gl l|g`|gug }b1n <_|glug`|gug }| 0[_|glm|g`|gug }i{]! x'_|gl0ug`|gug }\ an VN_|glm|g`|gug }H}n _|gl8l|g`|gug }t' XX_|glXug`|gug }ddN A_|glXl|g`|gug. XpĨ E_|glH0ug`|gug  }Ú8k m_|gll|g`|gug }xh 8z_|gl ug`|gug }dŊpg q_|gl m|g`|gug }n H'_|glug`|gug } h0^ /_|gl m|g`|gug }[R c _|glug`|gug 6 _|gl` m|g`|gug 4qB.Y '_|gl0ug`|gug cWod ԅ_|gl l|g`|gug , l_|glxug`|gug  qbz"j j_|gl m|g`|gug  7H( 3N_|gJ1ug`|gug t% 35_|gJ12m|g`|gug  3jj '_|gJ1ug`|gug I[ RF_|gJ1l|g`|gug %+Z RKJ1_|gJ1ug`|gug 'X 2_|gJ1l|g`|gug (z=TO3 ?)E_|gJ1ug`|gug  0hT _|gJ1 m|g`|gug 5OX Z4 _|gJ1 ug`|gug 8>K _|gJ1 m|g`|gug :q3 _|gJ1ug`|gug =' 0 ,_|gJ1P1m|g`|gug  ?O? B'_|gJ1ug`|gug  L_  _|gJ1l|g`|gug R2o _|gJ10 ug`|gug Yb+QA. _|gJ1 m|g`|gug \_cV 6'_|gJ1ug`|gug _rTZ 3_|gJ1@l|g`|gug aO J1_|gJ1 ug`|gug h3 d_|gJ1Pl|g`|gug l3esw D_|gJ1ug`|gug p  M_|gJ18dm|g`|gug4 V\ Th _|gJ17ug`|gug s _|gJ1"m|g`|gug  [3[ h _|gxug`|gug  wFjB _|g8m|g`|gug ܨ+/ ev_|gug`|gug _= _|g!m|g`|gug  (/ cv_|gug`|gug  'Aa ?Z_|gm|g`|gug S. kN_|gPug`|gug Ԝ^ T._|g0"l|g`|gug  h9)u XX_|gPug`|gug  {{;) T_|gxl|g`|gug Sy >_|gug`|gug  4L g_|g'm|g`|gug  ¾%  _|g0ug`|gug  ̾УC= f_|g!l|g`|gug  ҾTzץ N_|g0ug`|gug  ۾9 _|gug`|gug u p_|ggl|g`|gug4 ͯ4Yx Pf_|g;ug`|gug F h _|g l|g`|gug t`ѭ vD_|gug`|gug V́J@ $=_|gLl|g`|gug( &pWt9 _|g.ug`|gug  vq _|gm|g`|gug ?y <_|gl|g`|gug  t^tKj vl_|gX ug`|gug BP C_|g m|g`|gug\ .4}}v X _|gvug`|gug< ^a ()_|g m|g`|gug   NP6 *N_|gug`|gug  ,. _|gP#l|g`|gug  WR (+< _|ghug`|gug t{ "_|gplm|g`|gug8 =S W _|g_ug`|gug0 \09 _|gx9l|g`|gug   M._|g3ug`|gug  /K u_|gXX-m|g`|gug  <  [_|gXX'ug`|gug  Hm4 _|gXXAm|g`|gug" g> ;_|gXX8ug`|gug Rh,n _|gXX l|g`|gug aVu  _|gXXXug`|gug eD5w Q_|gXXm|g`|gug gA8 Zb_|gXX ug`|gug kQt O_|gXXm|g`|gug nb 3 2v_|gXX ug`|gug r5 -_|gXXpl|g`|gug  u%1߶ f_|gXX8 ug`|gug zYC _|gXX m|g`|gug ~?F _|gXXug`|gug lp< <_|gXXOl|g`|gug( Y_ 80._|gXXEug`|gug$ _x !_|gXXPm|g`|gug  w Zb_|gXXug`|gug NU{A h_|gXX l|g`|gug { D_|gXXug`|gug ]7. _|gXX:l|g`|gug )8 4_|gXX,ug`|gug  ҷFh D_|gXX8?l|g`|gug  fl #`_|gXXp8ug`|gug ÿ/ۡulS X_|gXXl|g`|gug ҿ<"HpQ _|gXXug`|gug ڿ&;_kf ._|g@l|g`|gug  Y/feƕ _|gp ug`|gug p: "_|gXm|g`|gug 5XT v_|gug`|gug  :1Te Q_|g5l|g`|gug xr$h ;MXX_|g(.ug`|gug  H _aK p_|gm|g`|gugB !m۴]\ t^N_|gvug`|gug< ! 6_|g Ym|g`|gug. JHt mZb_|gQug`|gug* ýi;NV _|g ug`|gug cN ?_|gug`|gug p.v ?_|g"l|g`|gug  "h' _z_|gug`|gug  n٨^ `!_|gh l|g`|gug  +%yT S`!_|gug`|gug 4bT `!_|ghl|g`|gugv ;ҹ/ `!_|gug`|gugF ##L /`!_|g Al|g`|gug" 7Qez .`!_|g pug`|gug 89* l9`!_|g l|g`|gug  ?ɢ ,`!XX_|g @ug`|gug D h T`!_|g m|g`|gug FQ_ǩ `!'_|g  ug`|gug Nh $ `!_|g l|g`|gug  RPg~I c`!J1_|g ( ug`|gug XRy /`!_|g 2l|g`|gug  [Zp[ X`!XX_|g !ug`|gug  hj o`!_|g l|g`|gug q&w `!_|g ug`|gug yu*& `!_|gf l|g`|gug  }IQB `!J1_|gfPug`|gug  aM( ]|`!_|gf(m|g`|gug  |bt `! _|gfug`|gug  7D] ɮ`!_|gfl|g`|gug _ n `! _|gf`ug`|gug ҨPy6 `!_|gfxl|g`|gug 9r `!J1_|gf0ug`|gug T ?`!_|gf(l|g`|gug  sjq6y ``!_|gfug`|gug pl[#O `!_|gf'm|g`|gug  8.Od h `!_|gfug`|gug  r B`!_|gf,l|g`|gug  Ϳb, [`!l_|gfug`|gug  D`!_|gf8m|g`|gug  et @`!N_|gf( ug`|gug p| t`!_|gf@$l|g`|gug  (L =`!._|gfug`|gug  _# `!_|gfl|g`|gug  ؚljT '`!E_|gfPug`|gug -j `!_|gf3m|g`|gug  .ԛ f`!_|gfug`|gug  2`!_|gf"l|g`|gug  %; oX`!E_|gfug`|gug   QܧQ |`!_|gf8+l|g`|gug   U`!D_|gfug`|gug \~ P`!_|gfpm|g`|gug  %VJ J`!N_|gfug`|gug +~ `!_|gfug`|gug~ ?7 `!_|gfm|g`|gug uw' ۆ`!9_|gl|g`|gug /\$gy <`!XX_|g ug`|gug  6& ^`!_|g8 l|g`|gug ;-Bv `!D_|gDug`|gug >Y* s`!_|gDm|g`|gug @1t m`!'_|gDug`|gug  H/ >`!_|gD=l|g`|gug  M9VY `!_|gD6ug`|gug ] ``!_|gDl|g`|gugZ -kH V`!J1_|gD mug`|gug8 ٶ&v 3N`!_|gDnm|g`|gug8 wr I`!_|gDP7ug`|gug k?H<% `!_|gD`!l|g`|gug  y&GAX &`!< _|gDug`|gug #BǢ `!_|gDm|g`|gug  3wD y`!v_|gDug`|gug 慷yՆ 1`!_|gDh#l|g`|gug  cmB l>`!Ԁ_|gDug`|gug  B k`!_|gD l|g`|gug  NǷ G`!J1_|gDH ug`|gug  `!_|gDl|g`|gug 9,+ :`!f_|gD ug`|gug p7 (`!_|gDl|g`|gug   `!XX_|gDPug`|gug  `!_|gDm|g`|gug   (f K`!Zb_|gD ug`|gug ФhM `!_|gtl|g`|gug | `!< _|gtug`|gug }c `!_|gtl|g`|gug  ׌$% H`!J1_|gt ug`|gug  = F>`!_|gt l|g`|gug 6~7 _F`!z_|gtug`|gug f `!_|gtm|g`|gug `@ =`!N_|gtug`|gug { ϗ`!_|gt0l|g`|gug V `!_|gtOd|gl|gl|gI   10 nBa O:t:t,md|g,mug`|gug sÏ! =`!_|gtPl|g`|gug  ([ /`!_|gt` ug`|gug Ѩ / `!_|gtQl|g`|gug* ؽh F# _|gt.ug`|gug  U1Q F#_|gtp0m|g`|gug  d&7 F#_|gtug`|gug ?¶ F#_|gtXl|g`|gug  vF#t_|gtug`|gug  QF' _F#_|gtm|g`|gug  N>Z IF#h _|gt ug`|gug ""V )F#_|gt)l|g`|gug  %|$w F# _|gtpug`|gug 0 ce _F#_|gt l|g`|gug 7> F#E_|gt@ug`|gug :OA ?F#_|gt l|g`|gug <,?iO F#._|gt`ug`|gug ?r#|i oF#_|gt l|g`|gug A`#`W |F#< _|gt@ug`|gug D.C 4PF#_|gt m|g`|gug F 1F#h _|gtug`|gug J8\ F#_|gthl|g`|gug  L$U<#/ F#_|gt@ug`|gug QB$zK DF#_|gtl|g`|gug  Tޏ F#_|gt` ug`|gug ZD ٵF#_|gtm|g`|gug  ]. &F#v_|gt ug`|gug cYw =F#_|gt8m|g`|gug  g^5 ÏF#_|g0 ug`|gug m"K F#_|gl|g`|gug  q5 @VF#_|gp ug`|gug wq_w JF#_|gxl|g`|gug  {Ӣ CF#_|gp ug`|gug $@b F#`|gm|g`|gug  v҉A PF#`|g ug`|gug BNȴ 3F#`|g l|g`|gug  ;Q F#XX`|g0 ug`|gug 0B F#`|g#m|g`|gug  p{ SF#Zb`|gPug`|gug  %; F#`|gm|g`|gug  F8 F#`|g l|g`|gug %q2T 6F#dH`|gP l|g`|gug hk-z F#`|gug`|gug ^_ {4F#`|gl|g`|gugX ,'A@{y }F#D`|gkug`|gug6 YW- F#`|gl|g`|gug *P YSF#`|gXug`|gug vĖ iF#`|g8 l|g`|gug J] TF#`|ghug`|gug {" F#`|gUm|g`|gug, S=xVB #0F#v`|g*ug`|gug  GO} 0F#`|gpam|g`|gug2 i4L F#h `|g01ug`|gug   2 UpF#`|gl|g`|gug :x NF#J1`|g0 ug`|gug  N .F#`|gBl|g`|gug Qova F#`|gug`|gug\ .#; PF#`|gZbpl|g`|gug   F#D`|gZbug`|gug D F#`|gZb 'm|g`|gug  x wF#N`|gZbug`|gug  /0XS4 AiF#`|gZbl|g`|gugZ 6xd`] nF# `|gZbxug`|gug in7 F#`|g>l|g`|gug  V5Z )'F#l`|g%ug`|gug   +F#`|g'l|g`|gug  i F#`|g'ug`|gug Դ% !F#`|g'l|g`|gug   zOK< ZF#z`|g'(ug`|gug %k } GF#`|g'pl|g`|gug (2PUy F#t`|g'ug`|gug +p )F#`|g'=m|g`|gug  -l8Ȣ 6F#`|g'!ug`|gug  =e2e EF#`|g'l|g`|gug FS}; LF# `|g'ug`|gug I5[nQf YcF#`|g' l|g`|gug K۫K :aF#z`|g'ug`|gug Nm= F#`|g' l|g`|gug Pp|`\ &F#`|g'`ug`|gug S ~7 oF#`|g'@l|g`|gug  U?@ tF#`|g'`ug`|gug Z+Bu F#`|g'( m|g`|gug ]/N | <F#`|g'`ug`|gug `ʵ_3 uF#`|g'Pm|g`|gug beq rF#N`|g'`ug`|gug eEMj^ TF#`|g'p l|g`|gug g$xF aF#t`|g'ug`|gug kN 9F#`|g' l|g`|gug mDX +F#f`|g'ug`|gug p1, F#`|g'p m|g`|gug r\ F#`|g'@ug`|gug u٣? ʦF#`|g'pl|g`|gug wl` ^bF#`|g'ug`|gug z>J}d &F#`|g'p l|g`|gug |3hz lF#f`|g'ug`|gug 9< yF#`|g'om|g`|gug Tg sF#`|g'm|g`|gug ' lF#`|g'l|g`|gug  $}F#< `|g'hug`|gug xbs 6F#`|g'0 l|g`|gug 1 F#t`|g'ug`|gug  ag F#`|g'@m|g`|gug  F4D iF#v`|g'ug`|gug y& F#`|g'm|g`|gug gl F# `|g'ug`|gug  75 pF#`|gh hl|g`|gug {e F#`|gh ug`|gug W N VF#`|gh  l|g`|gug :+ pV F#`|gh ug`|gug wg! F#`|gh ` l|g`|gug #( [oF#`|gh hug`|gug  zF#`|gh Jl|g`|gug& j0Z n%&f`|gh %ug`|gug  e 4 %&`|gh h+l|g`|gug   50 \%& `|gh ug`|gug  >. %&`|gh l|g`|gug 1jsH %&`|gh ug`|gug QX 0%&`|gh 0+l|g`|gug  )) E%&XX`|gh ug`|gug  <%&`|gh m|g`|gug ߛ B%&Zb`|gh ug`|gug &? Al%&`|gh m|g`|gug  M q%&Zb`|gh ( ug`|gug N7 6%&`|gh l|g`|gug 47 %&l`|gh 8ug`|gug X6< 1[%&`|gh m|g`|gug (ݱ; %&h `|gh ug`|gug  I%&`|gh Xl|g`|gug , %&E`|gh ug`|gug  Q%&`|gh ` l|g`|gug i LJ%&Ԁ`|gh ug`|gug  a/>8 %&`|gh l|g`|gug  |m^ @%&`|gh ug`|gug ra3 V%&`|gh l|g`|gug &m< %&t`|gh ug`|gug (ec %&`|gh p l|g`|gug nqo %&`|gh ug`|gug ʣ %&`|gh l|g`|gug  ;l%&`|gh (ug`|gug | `%&`|gh X5l|g`|gug N}VJC %&`|gh ug`|gugl 6`> Y%&`|g 86l|g`|gug 8"o l%&z`|g ug`|gug -9lZ, d%&`|g `hl|g`|gug6 ]g: "%& `|g 09ug`|gug 5 J!6 Z*%&`|g m|g`|gug  D0< %&'`|gN ug`|gug Ji"˳D %&`|gNl|g`|gug N qD %&< `|gNug`|gug U x 0%&`|gNXl|g`|gug  Y %&l`|gNp ug`|gug _ܥ@f ^%&`|gNl|g`|gug  czna U<%&t`|gN@ ug`|gug h${' 0%&`|gN(l|g`|gug  k̒O %&E`|gN ug`|gug p|15 %&`|gNm|g`|gug  sv %&`|gN` ug`|gug xz :{%&`|gN8Fl|g`|gug$ # m%%&`|gNX#ug`|gug  {Tr 0%&`|gNl|g`|gug XOT[ %&t`|gNug`|gug nF /|%&`|gN m|g`|gug 8 N |%& `|gNug`|gug `Zw y%&`|gNl|g`|gug =.1 K%&.`|gNpug`|gug  Y%nN @>%&`|gNPl|g`|gug 'bJj ,%&t`|gNug`|gug  vD% s%&`|gN l|g`|gug q/ P#%&< `|gN`ug`|gug hdUnN %&`|gN l|g`|gug  ^H %&`|gNHug`|gug   %&`|gN l|g`|gug (,)! 6r%&`|gNug`|gug oKg %&`|gNh l|g`|gug UXx %&.`|gNHug`|gug !> O%&`|gN l|g`|gug ~d4c %&Ԁ`|gvug`|gug  = M%&`|gv l|g`|gug  %&`|gvug`|gug - 5%&`|gv`'l|g`|gug  Z .%&z`|gvug`|gug  YWܟ -%&`|gvh l|g`|gug Q ": s'%&`|gvug`|gug Έ %&`|gvtl|g`|gug<  vn| %&Ԁ`|gv@ug`|gug" ݙ1Ǣ <%&`|gl|g`|gug  M` %&Ԁ`|g ug`|gug 7` b%&`|gm|g`|gug Vζe OG%&`|gl|g`|gug CQX DU%&f`|g( ug`|gug  %&`|gKl|g`|gug& >3 ,'%& `|g'ug`|gug  Ij? #%&`|gl|g`|gug  BL Q`%&`|gug`|gug @Fش >%&`|gl|g`|gug ;EH I%&D`|gug`|gug v! q%&`|gl|g`|gug w.9 h%&`|g0ug`|gug 4> %&`|gX l|g`|gug  kQ %&Ԁ`|g0ug`|gug $P )%&`|gm|g`|gug & (A%&`|g(ug`|gug .&c %&`|gl|g`|gug 2ӱ$ %&`|gug`|gug 9XP w8%&`|gl|g`|gug =")/ x%&`|ghug`|gug @4g! %&`|gm|g`|gug Bg;L ^%&h `|gug`|gug J%r wO%&`|g@l|g`|gug Nm椕 t%&t`|g@ug`|gug RYgS i%&`|gl|g`|gug TB@- %%&z`|gug`|gug V@D EU%&`|gm|g`|gug X;T %&`|gug`|gug ZObM{ %&`|g1m|g`|gug  [1ȝ(q Ʈ%& `|gug`|gug h %&`|gm|g`|gug p_q w%&v`|gug`|gug  x N&3 gN%&`|g(l|g`|gug }Dm% K%&f`|g*uhug`|gug  e\ '%&`|g*ul|g`|gug ٞ& ym%& `|g*uug`|gug  iJUi %&`|g*u'l|g`|gug  } %&`|g*uug`|gug  *}s q(`|g*u@=l|g`|gug  x A (.`|g*u#ug`|gug  ujz (`|g*uPl|g`|gug  V ,(E`|g*uP ug`|gug b9 (`|g*u *l|g`|gug   y!9 Y(`|g*uug`|gug  SD'W ^ (`|g*u l|g`|gug LeA h%(`|g*uug`|gug 2/ *(`|g*u l|g`|gug TX t(`|g*uug`|gug /* (`|g*uhm|g`|gug Ca_ ('`|g*u(ug`|gug A| (`|g*ul|g`|gug Ɯ6 ;@(D`|g*uug`|gug Z/&& tg(`|g*um|g`|gug  1 (h `|g*u ug`|gug XĝRk =T(`|g*u)m|g`|gug 5h~ (`|g*u`"m|g`|gug  4 &(Zb`|g*uug`|gug ^Q (`|g*u` l|g`|gug  0)z j(z`|g*u ug`|gug >I }(`|g*u"m|g`|gug  u 6( `|g*uug`|gug  3\uT ,(`|g*uP'l|g`|gug  $'9 i@(z`|g`ug`|gug  . $` 1(`|gHtl|g`|gug< Q押/' n( `|gXNug`|gug( oܬ (`|gl|g`|gug  4h\ (`|g ug`|gug Q" (`|g l|g`|gug  :9[ Lq(l`|g` ug`|gug @ ^c4 L(`|gl|g`|gug C6[ aS(Ԁ`|gug`|gug Gk G(`|g l|g`|gug I]O s(`|gug`|gug L_er (`|g+m|g`|gug  N^5c (Zb`|gug`|gug YyV I1(`|gȤl|g`|gugT *B(R (< `|gQug`|gug* n 1+(`|g m|g`|gug `c}RH 0(v`|gug`|gug dgt :(`|g l|g`|gug fu X(.`|gug`|gug i]W (`|gLl|g`|gug( uE }(`|g8ug`|gug k K(`|g9m|g`|gugr 9* Gd [<(`|g9ug`|gugF #cz (`|g9(!l|g`|gug  z?I ;0( `|g9ug`|gug  s@ (`|g9(l|g`|gug  {;z (`|g9ug`|gug  ixI ,(`|g9<l|g`|gug P:x,D (Ԁ`|g9ug`|gugn 71 |(`|g9qn|g`|g`|g L|B(hJc <((`|g(I`|g`|g`|g N|[Cs /yyH{`|gyA0m|gm|gm|g ] 88l|g l|gl|gl|g  Ei!3 l|g (!l|gl|gl|g  JilH K l|g `hl|gl|gl|g6  ]// $K l|g )l|gl|gl|g  SipG { l|g l|gl|gl|g ^iQut zzzl|gzl|gl|gl|g `iJs@ zzzl|gzl|gl|gl|g  diBxtnV +zzzl|gz86l|gl|gl|g iiX#, zzzl|gz l|gl|gl|g wiCBw zzzl|gz"l|gl|gl|g  ziE ,zzzl|gz`'l|gl|gl|g  iesURh zzzl|gz l|gl|gl|g i zzzl|gzP'l|gl|gl|g  iĕo !&zzzl|gz` l|gl|gl|g  ivGE zzzl|gzl|gl|gl|g  iI}|( lԀԀԀl|gԀ` l|gl|gl|g ifZB. vԀԀԀl|gԀX l|gl|gl|g i%P "/ԀԀԀl|gԀ<l|gl|gl|g P!Xڭ EԀԀԀl|gԀh#l|gl|gl|g  iGa ԀԀԀl|gԀl|gl|gl|g iPJ $ԀԀԀl|gԀ l|gl|gl|g i [ ԀԀԀl|gԀtl|gl|gl|g< !쎊 vԀԀԀl|gԀ l|gl|gl|g iJ AԀԀԀl|gԀ@=l|gl|gl|g  i4{ `[ l|gX l|gl|gl|g B%_Ҿ l|gP l|gl|gl|g F $k l|g0l|gl|gl|g Jy xl|gl|gl|gl|g  Nm l|gl|gl|gl|g  T~*Y xl|gP#l|gl|gl|g  Y& J< < < l|g< l|gl|gl|g bjw F< < < l|g< l|gl|gl|g f5c z< < < l|g< l|gl|gl|g jz t< < < l|g< l|gl|gl|g m)] &< < < l|g< l|gl|gl|g uY' k< < < l|g< `!l|gl|gl|g  yb{ re< < < l|g< %l|gl|gl|g  .1_\ 9< < < l|g< l|gl|gl|g .fWW .v< < < l|g< Ȥl|gl|gl|gT *}e( *< < < l|g< l|gl|gl|g zrG < < < l|g< @l|gl|gl|g  T-Q xllll|gl,l|gl|gl|g  ;[ llll|gl l|gl|gl|g  ceGQ Rllll|gll|gl|gl|g  ?'ir llll|gl@ l|gl|gl|g  nVr: llll|glXl|gl|gl|g  ŋw llll|gl l|gl|gl|g X۟n Mllll|gl>l|gl|gl|g  ʼ Nllll|gll|gl|gl|g  llll|glX5l|gl|gl|g N~El fl|gxl|gl|gl|g  {g.D\ l|gAl|gl|gl|g" yx _l|g l|gl|gl|g o"ζ vl|gpl|gl|gl|g :@/ ծl|gl|gl|gl|g  U Dl|gl|gl|gl|g wG l|gl|gl|gl|g  wg Sl|gl|gl|gl|g @* gl|gxl|gl|gl|g +m J1J1J1l|gJ1l|gl|gl|gZ -Ae, J1J1J1l|gJ1 l|gl|gl|g  Ǿ{% GsJ1J1J1l|gJ1 l|gl|gl|g  l J1J1J1l|gJ1l|gl|gl|g  pR 3J1J1J1l|gJ1p l|gl|gl|g {J+ *J1J1J1l|gJ1l|gl|gl|g v J1J1J1l|gJ1@l|gl|gl|g   ) .MJ1J1J1l|gJ1l|gl|gl|g  '#zc. K%J1J1J1l|gJ1l|gl|gl|g , ڗe <J1J1J1l|gJ1Ll|gl|gl|g( CJ l|gl|gl|gl|g ._@@[ l|g@l|gl|gl|g  0<[ l|gl|gl|gl|g  5Q= Tl|gBl|gl|gl|g Qވr ?l|g=l|gl|gl|g  ;K(I Sl|gl|gl|gl|g KE4) =l|gh l|gl|gl|g  O>R Hal|g` l|gl|gl|g X/K "l|g l|gl|gl|g \VM: l|gl|gl|gl|g _*{H" l|gl|gl|gl|g g홦7 Il|gl|gl|gl|g  o^9Y3* pl|g8?l|gl|gl|g  t* r^l|g l|gl|gl|g &b`/ l|g l|gl|gl|g Jb-/ !l|g0"l|gl|gl|g  X'< *XXXXXXl|gXX l|gl|gl|g  UH $[XXXXXXl|gXX5l|gl|gl|g kw:_ XXXXXXl|gXX0+l|gl|gl|g  Ktl XXXXXXl|gXX2l|gl|gl|g  aL XXXXXXl|gXXl|gl|gl|g [ gXXXXXXl|gXXl|gl|gl|g V3j jZXXXXXXl|gXXl|gl|gl|g  ^J?@ XXXXXXl|gXX8l|gl|gl|g oPZ XXXXXXl|gXXl|gl|gl|g N~. sl|g8Fl|gl|gl|g$ !&)H il|gxl|gl|gl|g "nJ l|g:l|gl|gl|g x77 Z$l|gl|gl|gl|g  g7= l|g(l|gl|gl|g  .~d \l|g l|gl|gl|g  9b ml|g l|gl|gl|g  Τ9` 0l|g'l|gl|gl|g  e~e }l|g l|gl|gl|g    l|g Ql|gl|gl|g* ;6\    l|g l|gl|gl|g '⻪ ;%   l|g h+l|gl|gl|g  j ^g6 0   l|g l|gl|gl|g (vr T   l|g l|gl|gl|g 9D $   l|g Kl|gl|gl|g& Air; Dc   l|g l|gl|gl|gZ ěz    l|g Htl|gl|gl|g< aXx   l|g Jl|gl|gl|g& ^ Bfffl|gf(l|gl|gl|g 0|< Yfffl|gfpl|gl|gl|g  8z' fffl|gfgl|gl|gl|g4  cfffl|gfl|gl|gl|g =Yu = fffl|gfp l|gl|gl|g Dew"d nffffl|gfl|gl|gl|gb 1 8z fffl|gfl|gl|gl|g Gd qfffl|gf l|gl|gl|g NLͻ fffl|gfp l|gl|gl|g Q0` JBl|g@l|gl|gl|g  TЗf Ll|gl|gl|gl|g ZDzH6 l|g(l|gl|gl|g  ]׊~ i9l|g(l|gl|gl|g hZ l|gl|gl|gl|g j8)x l|g *l|gl|gl|g  n-y3'W l|gP l|gl|gl|g yF= Yl|ghl|gl|gl|gv ;Afq l|ghl|gl|gl|g } t Ml|g l|gl|gl|g w &"DDDl|gDl|gl|gl|g u<1 DDDl|gDl|gl|gl|g yI zDDDl|gDl|gl|gl|gX ,ኇV; 4DDDl|gDpl|gl|gl|g  " 0DDDl|gD@l|gl|gl|g uz? 0DDDl|gD8+l|gl|gl|g  P<d ?DDDl|gD8 l|gl|gl|g 2* ^ DDDl|gD l|gl|gl|g Э fDDDl|gD l|gl|gl|g 3&p<$ DDDl|gDp l|gl|gl|g [ *tttl|gtl|gl|gl|g \{ Tatttl|gtPl|gl|gl|g /D2 .4tttl|gtHl|gl|gl|g  OT& tttl|gt0 l|gl|gl|g  < Ytttl|gtl|gl|gl|g  [..& tttl|gt@l|gl|gl|g SB{^Y Atttl|gtl|gl|gl|g 5Ԓ+ <tttl|gtXl|gl|gl|g 8 /3tttl|gtpl|gl|gl|g  ! ;tttl|gt l|gl|gl|g 0e - tttl|gt"l|gl|gl|g  m, l|g l|gl|gl|g  Z l|g` l|gl|gl|g =' il|gl|gl|gl|g  r~ dl|g!l|gl|gl|g  Rzt uSl|gPl|gl|gl|g 1ۏ\ %%l|gPl|gl|gl|g  ! 'l|g l|gl|gl|g ӗA m-l|gl|gl|gl|g  ,?|7$ l|g l|gl|gl|g  ~2v ,l|g8 l|gl|gl|g  S)oR l|gp0m|gm|gm|g  M6-r sm|g'm|gm|gm|g  `#Y: m|g@Vm|gm|gm|g, + dm|g m|gm|gm|g '^U =m|gm|gm|gm|g  *#= Rm|gm|gm|gm|g  /: m|g=m|gm|gm|g  5&R -m|g( m|gm|gm|g EK y m|g m|gm|gm|g HN Vm|gm|gm|gm|g K m|gPm|gm|gm|g Mz ,ZbZbZbm|gZbm|gm|gm|g  URN ZbZbZbm|gZbm|gm|gm|g  [j ZbZbZbm|gZb#m|gm|gm|g  aawq ZbZbZbm|gZbm|gm|gm|g jv6 ZbZbZbm|gZb`"m|gm|gm|g  m4NX- DZbZbZbm|gZbm|gm|gm|g  vSq) "ZbZbZbm|gZb Ym|gm|gm|g. &?* +{ZbZbZbm|gZbm|gm|gm|g {&- ΃ZbZbZbm|gZb+m|gm|gm|g  כ [ZbZbZbm|gZb-m|gm|gm|g  o9 + kBm|gm|gm|gm|g  _  Em|gm|gm|gm|g  ~ # m|g`m|gm|gm|g c1l0 m|gnm|gm|gm|g8 Wv !m|gAm|gm|gm|g" ! / m|gp m|gm|gm|g . עm|g3m|gm|gm|g    l3m|gm|gm|gm|g } m|g8m|gm|gm|g  D7; |m|g m|gm|gm|g >% A'''m|g' m|gm|gm|g \/ n^'''m|g'hm|gm|gm|g π. '''m|g'2m|gm|gm|g  G  '''m|g'm|gm|gm|g %_jC '''m|g'` m|gm|gm|g 6MtZ r'''m|g'm|gm|gm|g 0^%s Z'''m|g'm|gm|gm|g  gmp '''m|g'P1m|gm|gm|g    '''m|g'm|gm|gm|g Ag *'''m|g'm|gm|gm|g VV N>h h h m|gh m|gm|gm|g  K{ Ah h h m|gh  m|gm|gm|g  mYxcb h h h m|gh !m|gm|gm|g  qu" Lh h h m|gh =m|gm|gm|g  ^ 58h h h m|gh m|gm|gm|g  ) h h h m|gh "m|gm|gm|g  .o "h h h m|gh 8dm|gm|gm|g4 AoI 1h h h m|gh pam|gm|gm|g2 aӡd h h h m|gh m|gm|gm|g  7V>;Zd h h h m|gh m|gm|gm|g =!w ;H m|g 'm|gm|gm|g  AoKO/  m|g m|gm|gm|g K'kš / m|g m|gm|gm|g\ .݅o#P t m|g 1m|gm|gm|g  S8# H m|g "m|gm|gm|g  `Ër  m|g plm|gm|gm|g8  m|g m|gm|gm|g iUGXF q m|g m|gm|gm|g lDp^% . m|g (m|gm|gm|g  oRf ɟ m|g m|gm|gm|g zAs- NNNm|gNmm|gm|gm|g8 - NNNm|gN m|gm|gm|g }#"s( ENNNm|gNPm|gm|gm|g I_E NNNm|gN8m|gm|gm|g  n*p '@NNNm|gNpm|gm|gm|g  -_ dNNNm|gN 'm|gm|gm|g  bT +NNNm|gNm|gm|gm|g PIi0 'NNNm|gNm|gm|gm|gB !  DNNNm|gN m|gm|gm|g m,U$ iNNNm|gNm|gm|gm|g  __ >vvvm|gv!m|gm|gm|g  *vp vvvm|gvXm|gm|gm|g , vvvm|gvUm|gm|gm|g, A!sY vvvm|gv8m|gm|gm|g k+ vvvm|gv@m|gm|gm|g  [% 4vvvm|gv m|gm|gm|g js 6 vvvm|gvm|gm|gm|g  Ôdgm ,-vvvm|gvm|gm|gm|g ɔـ3 ,vvvm|gvm|gm|gm|g ДmWS7 vvvm|gvm|gm|gm|g Ԕ> Evvvm|gvm|gm|gm|gr 9D) Fm|gm|gm|gm|g ܔ^Dm +#m|gm|gm|gm|g  hx eom|gkm|gm|gm|g wW dm|gm|gm|gm|g ~ 'm|gom|gm|gm|g r| tm|gm|gm|gm|g 5 @m|g)m|gm|gm|g iB m|gm|gm|gm|g S=z( m|gm|gm|gm|g `CC m|g m|gm|gm|g ryD G*u*u*um|g*uAn|gm|gm|g 1} ʔ*u*uH{m|g*uR$m|gm|gm|gj 5zcJ B*u*u*um|g*um|gm|gm|g DQ m|g m|gm|gm|g 2 TW99m|g m|gm|gm|g tOe 888m|g8tn|gn|gn|g  ex Dn|g m|gm|gm|g 2.c }tttm|gt>n|gn|gn|g ~ pZbn|gZbn|gn|gn|gn|g s3K 5w5w*un|gTn|gn|gn|g 0 H*u*u*un|g*un|gn|gn|g/etc/init.d/dmesg{ /`!`!`!n|g`!n|gn|gn|g/etc/init.d/hwdriversk y!F#F#F#n|gF#n|gn|gn|g/etc/init.d/mdevKՇ F#F#F#n|gF#n|gn|gn|g/etc/init.d/acpidi (((n|g(n|gn|gn|g/etc/init.d/bootmisci N(((n|g(n|gn|gn|g/etc/init.d/hostnamed} $!T*T*T*n|gT*n|gn|gn|g/etc/init.d/hwclocklN \tL-L-L-n|gL-n|gn|gn|g/etc/init.d/modulesI ///n|g/n|gn|gn|g/etc/init.d/swap#m/[ ^Tb2b2b2n|gb2n|gn|gn|g/etc/init.d/sysctl>ؑ =s4s4s4n|gs4n|gn|gn|g/etc/init.d/syslogQvZ1 666n|g6n|gn|gn|g/etc/init.d/chronydL$6 Kp89p89p89n|gp89n|gn|gn|g/etc/init.d/networking: ʚ;ʚ;ʚ;n|gʚ;n|gn|gn|g/etc/init.d/sshdpN b-$=$=$=n|g$=n|gn|gn|g/etc/init.d/killprocsnm J~_@~_@~_@n|g~_@n|gn|gn|g/etc/init.d/mount-roN ٩BBBn|gBn|gn|gn|g/etc/init.d/savecacheڍ%  (2$E2$E2$En|g2$Ekn|gn|gn|g 8_ NrSNrSUn|gNrSn|gn|gn|g/etc/init.d/tiny-cloud-boot@ W\\\n|g\n|gn|gn|g/etc/init.d/tiny-cloud-early}@!E ^_^_^_n|g^_n|gn|gn|g/etc/init.d/tiny-cloud-mainbm jajajan|gjan|gn|gn|g/etc/init.d/tiny-cloud-final>m =_"d"d"dn|g"df|gl|gl|gl|g  c|gdHf|gl|gl|gl|g ܟ yy c|gdHf|gl|gl|gl|g  tW c|gAd|gl|gl|gl|g #-x vyy,mc|groAl|gl|gl|gl|g %Ÿ X.d|gxhd|gl|gl|gl|g I1 8ld|gxhd|gl|gl|gl|g y c 7ld|gxhd|gl|gl|gl|g цV* [5ld|gxhd|gl|gl|gl|g R{ ld|gxhd|gl|gl|gl|g ˱/ @d|gxh . ..  lost+found boot etc tmp dev lib! var) proc; binL sbinM usr homemedia mnt opt root run srvsys w餝 ... &ೈ Xf| Xf| Xf| Xf| Xf| Xf| Xf| Xf| Xf| Xf| Xf|  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ . .. eficonfig-6.12.8-0-virt vmlinuz-virt initramfs-virtf bootlgrubSystem.map-6.12.8-0-virt ފK . .. :-  ...{&p ހ . .. repositories keys world( archprotected_paths.d ޤ  . ..<3alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub<3alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub<3alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub<3alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub3alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub :|m ... D2R . .. null zerorandomurandomconsoleS pts9shm ޖ . .. apk: libc.musl-x86_64.so.1firmwaremodules-load.dsysctl.dt mdevmodules9Pld-musl-x86_64.so.1 bG . .. dbRexec 31 . ..C installed'$lock% scripts.tar&triggers jX! . .."cacheempty liblocal@run log mailLoptspool tmplock >" .! ..# apk$misc ަ# .".. }`W$ .".. n7j@) ... zr; ...{BTWTS ׭5= .L..>busybox ޗ+? .L..@acpidopenrc(|chrony }A . ..B if-down.dCif-post-down.dD if-post-up.dE if-pre-down.dF if-pre-up.dGif-up.d ` interfaces sB .A.. ޑvC .A.. ~9D .A.. ނ9E .A.. ޶,KF .A.. ,YzCG .AL..Hdad ާvJ .L..K udhcpc.conf CzL ...{Le@Q `dM . ..N sbinOshareT bin liblocallibexec yN .M..{SWc O .M ..Pudhcpc man misc apk9dhcpcdmkinitfsIkernelzoneinfo grub \locale ޜO<P .OL..Qdefault.script G7R ... 9FfT .M..{n)aL>Ͼ ފXU [m calx cmpy comm{ cpiodos2unixejectfactor fallocate fold free head lastloggermkfifonmeternohupnsenternslookup od!realpathVtimeout`ttysizeg uniqkunlzopllm unxzouptimevvolname| who~whois yesgetent ssh-copy-idt  grub-fstestx  grub-mkimageuniqkunlzopllm unxzouptimevvolname | who~whois yesgetent @( ssh-copy-id dV=microcom nlmkpasswdbbasename~cryptpw` awku chvt mesg lzmalbzip2 dud bcpkill~%renicePM1 seqDsplitvFstringsI sumW topY trZ traceroutez wgetxargsiconv)chronyc ssh-agent ssh-keyscanlsattrBPdoas abase64cbbconfign catpchgrpqchmod dd dnsdomainname echoegrepfatattrfdflushgetopt grep gziphostnameionicelinux64loginmakemimemkdirmktempNmount nice pingping6 pipe_progressprintenv( rev* rm. run-parts6setprivE statM syncXtouchpusleepklsmodlmodinfommodprobe ބ pidofipcalcfalse ps# reformimegunzipfsynclsattr\ arch lzopz cp_ ashnetstat lnfgrep+rmdirmknodiostatdmesg more/ sed 7 setserial + shBsleepG sttyH suR tardumountiinsmodj0kmodhdepmod / sed 7 setserial + shBsleepG sttyH su)R tar dumountT5 h@5.apk.707b808b4bc2c0ef57b601f46b896b4e0b15f6195b0a1880@@h z dirname lsofS tee pwdx_ ttyprintf'resizeTf blkdiscardhexdump less readlink ncC sortgroupsQ tail:sha1sumfhostidlsusb find paste%wclear id\ treelzopcatinstall@ shuf<sha3sumw8setsidc4 setkeycodes]jbunzip2 envfuserkbzcat exprlunshareruuencodet viYw{which;tyxzcat^ ssh-keygen findssl.sh sftp sshgetconfp11-kitssh-pkcs11-helperchattryxssh-addu  grub-glue-efiy ( grub-mklayout imds @grub-render-labelr  grub-editenv{ hgrub-mkpasswd-pbkdf2gk| tQ7 #,fos 61vL ?:S ... A)q9 ... ( .L..root бg . ..blacklist.conf i386.confkms.conf aliases.conf W ... V9Z ... 's . ..15mindailyhourlymonthlyweekly i??z ... j ... m ... ކg ... KE ...  . ..READMEcolor_prompt.sh.disabled 20locale.sh !6 .L..README ? . ..alpine ]2 ... Z ... ލG ... $O . ..cdromfloppyusb ޶YgM ... ̸Ť ... T1 ... FO ... J!` ... ދ}h ... ނ]6 . ..lock ޱj) ... ޝ-C ... ޑS ... ޓ .M..{F<.Js5 ޥnL ... އ .L..00-alpine.conf k .M .. bin libshare ެ镲 ... ̞M ... pXY ... eǯ .O.. ޱa .O.. ; .!.. ޾ZY .! .. misc+chrony6dhcpcdcloud ޖk ... Q̪+ .!.. hY .! ..chrony Sw .!.. o/H .!.. Ӆd .! ..Lcronmail  .L..crontabs | .!.. UT_Wacpid] arphblockdevfbsplashfdiskgetty halthwclock initipaddriprouteipruleklogdlogreadqlsmod mdevImkdosfsL mkfs.vfatmkswaprmodinfosmodprobenologinpoweroffJswapoffbudhcpcsvconfig zcip"rc-sstat%start-stop-daemon apkEfatlabelG fsck.msdosJmkfs.fatK mkfs.msdosifquery] fsck.ext2^ fsck.ext3a mkfs.ext2b mkfs.ext3 mkmntdirsopenrcap >nameififdown raidautorun-routeL switch_rootfstrimAslattachpinsmod2 setconsoleiptunnelxwatchdog ipgblkidifconfig fsck ifenslaveodepmodloadkmapatunctl pivot_rootifparse  openrc-run# rc-update$serviceldconfigT ifctrstat{CdosfsckD dosfslabelH fsck.vfat  bootchartdmkinitfs rc-update$service@<ldconfig ifctrstat{@@X >1 .M .. ifupdown-ng) rcp11-kit ޢ . ..bridge dhcpforwardipv6-ra linkxstaticbond ޘ| ...{<[x sy|devfshwclock killprocs localmountmodloop net-onlinenetmount swapswclock ntpdsyslogcrondLklogd 4 mtabseedrng staticrouteloadkmapmodulesrdatewatchdog-Pchronyd@sshd consolefontdmesg\fscktbootmisc"@8@.p@Hh80@DC@5Nt"W@<[x@VE{P@i@zi`@^~@1 @"PG /3 ...{ *,F=<  firstboothostname localmount machine-id net-onlinenumlock rootrunsvdir save-keymaps  savecachecrond<ntpdtdevfs@5.apk.8fa51ce6513160b8f5c2ba58952a9d051dc81fd8fb175de0@ @5.apk.518b5014c485e8a380065146b0096864d6ff464141688bf2t &  killprocsloopbackmodules mtab s6-svscan save-termencoding swapdmesg fsck functions.shsysfs sysfsconf termencodingklogdloadkmapsyslogwatchdogtiny-cloud-mainbinfmtbootmisc@5.apk.c8402845a4342b34424710347fb0dc850b66d1427dac6a2at5.apk.24cf86c4662b170867e819052e58865655046e4695351ed4@,F@nS@:(i @~ @=<`@U@ ޖLvClocal networkingosclock seedrng  staticroutesysctlrdate?dhcpcd sshd,tiny-cloud-boot consolefont.chronydtiny-cloud-early m procfsswclocky mdevacpidhwclock hwdriversmodloopLtiny-cloud-finalmount-ronetmount4cgroupsSp@Z @ފK @| @*@DP@T]`@n;@@ *@.0@n4t8z5@8 @l< e= .L..README OWB . .. bootdefault nonetworkshutdownsysinit H . .. acpid bootmisc hostname hwclock modules swap sysctl syslog `tiny-cloud-boot  . .. chronyd  networking sshd tiny-cloud-early tiny-cloud-main |tiny-cloud-final qqg ... &: . ..  killprocs mount-ro  savecache *aH . ..3devfs dmesg  hwdrivers mdev ) . ..* binV sbincLshrxversion * .)..{<5UL2Fg, ޥe.#,ebegin.eerror4esyslog8ewarnn? mountinfoB save_optionsDservice_get_valueMservice_wasinactiveOvebeginRveinfoS veoutdentT vewarn 9ewendA rc-dependGservice_set_valueI service_started_daemonJservice_startingN shell_varPveendQveindentUvewend1einfo2$einfonG@5.apk.e412db004b6e8eac37a86c3379eccbdc34dbd4a2ceed6054@Kt5.apk.29bc339008f1a26e8d1d2e69a8845cb7d4fefe055a4f9282@϶@L2p@ܤ@Uϰ@zo`@*@@f/9 ބ*_eFservice_inactiveH(service_started/eerrorn0eindent3eoutdent6 ewaitfile< is_newer_thanCservice_crashedK service_stopped+4 checkpath\Pc@p@`@K@@4@?9@E@O @<5Ut0rW@^d0@϶P@Jt@>]̍ :yEservice_hotpluggedLdservice_stopping5 eval_ecolors7ewarn:\ fstabinfo; get_options= is_older_than>kill_all@D on_ac_power-teendL2@<@Ep@ܤ@ҊtH@U @Fg,֠@fl@zo0@(@*@@f/9P@@$@_LxXk6xhW@"?s&H*@tʍ@c@:|b> AA4F@|vVؼ[N@v_Sch@<@0ǝ 4cf .O ..keys ސS ...{nU_| nBݥ . ..3alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub\3alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub ޣBaarch64<3alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub<3alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub<3alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub<3alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub<3alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub<3alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub3alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pubarmhfec0armv7da2 loongarch643ppc64lex86_64@@@@d5.apk.34eeb8b41e72fa60dbea44d6e811f61bf0650c00802d656a "Y@3alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub@3alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub<3alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pubD3alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub<3alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pubD3alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub<3alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub3alpine-devel@lists.alpinelinux.org-616abc23.rsa.pubmips64riscv64s390x x86<3alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub<3alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub3alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pubsM@(,t@'4Mdd4FN4@| P@zAXT@=\D@nU_|@;q . ..capi.soloader_attic.so padlock.soafalg.so UP .L.. legacy.so c+k ... Ϻ . ..PWRF oE .L..00000080  .L..pkcs11.conf.example 33libcap.so.2.71( librc.so.1 ossl-modules libz.so.1.3.1 libhogweed.so.6.9libnettle.so.8libffi.so.8.1.4libp11-kit.so.0Olibblkid.so.1.1.0V libss.so.2W libss.so.2.0Qlibcom_err.so.2.1R libe2p.so.2Ylibuuid.so.1.3.0libdevmapper.so.1.02W udevd liblzma.so.5f libzstd.so.1L libmount.so.1Qlibnvme.so.1.11.1(libncursesw.so.6 ޶glibcrypto.so.3 libgmp.so.10.5.0  libgmp.so.10}dasd-functions.shlibp11-kit.so.0.4.1 libz.so.1libpsx.so.2.71' libeinfo.so.1sysctl.d!libgnutls.so.30.40.2X libuuid.so.1#libseccomp.so.2,libcryptsetup.so.12Olibnvme-mi.so.1.11.1libedit.so.0.0.74 libedit.so.0P libnvme.so.1 tiny-cloud Lgrub ޯy . ..trust-extract-compat\p11-kit-remote >~ ... 2% .L..' chrony.conf c+ .L.., chrony.drift S6 ... #2 . ..3T dhcpcd-hooks8dhcpcd-run-hooks .=H3 .2 ..520-resolv.conf6 30-hostname7 50-ntp.conf401-test %9 .O ..:hooks `3: .9 ..< 15-timezone=29-lookup-hostname> 50-yp.conf;10-wpa_supplicant A . ... wheel.conf _ fsck.ext4`mke2fsc mkfs.ext4trmmod1dhcpcd[adjtimexlosetupifupdownOsyslogd ifupFfsck.fat\e2fsck nlplug-findfs! rc-serviceinotifyd"reboot@sfdiskipneighKswapon&supervise-daemonNsysctlfindfs<iplink X apk group,hostname-hosts inittab4 protocols7shellsAnetwork crontabsJudhcpcI securettyconf.dlocal.drc.confz lbu runlevels sslR nvme_terminfoh defaultj grub.d/ dhcpcd.confAdoas.d@ doas.conf*\fstab ޯx1 nsswitch.conf8 sysctl.conf=busybox-paths.d0 mtab/modulespasswd modprobe.d sysctl.dinit.d? logrotate.d profile.d5servicesmodules-load.d(alpine-release acpi secfixes.dprofile%chronyssl1.1issue&shadow os-releaseperiodics mdev.confpkcs11 opt motdZ e2scrub.conf[ mke2fs.confxmkinitfs ssh tiny-cloud.conf %#6n@rmmodrchown pwd zcatkbd_mode mountpointwwatch?Dlinux32 kill mvmpstat]Ltruebbsuid<busyboxeuname; link dfochattr ls rc-statusLdatedumpkmap ގX ... Cx . ..yT features.d  mkinitfs.conf R:y .x..{ 3<`q\g~;2 ic btrfs.files cdrom.modules ext4.modules gfs2.modules lvm.files nbd.modulesreiserfs.modules scsi.modulessquashfs.modulesvirtio.modulescramfs.modules@@5.apk.c8a169531c130a60e9eedafaca75a5847765cf9045929eec@@t5.apk.f378e3b21ba60ea333205ed99ed4dd3ceaf1a67e093edce7 \Vdasd_mod.modules dhcp.modules f2fs.modules keymap.files kms.modules nfit.modules ocfs2.modules qeth.modules usb.moduleswireguard.modulesxenpci.modulesP xfs.modulesz 9p.modules6a| ata.modules8dadd903a914cf6a530cect 2acryptkey.filescryptsetup.files dhcp.files ena.modules network.files raid.fileswireguard.files$ zfs.modulesbootchart.filescryptsetup.modules@@5.apk.4bf0278eadd4596ab177391cbd5fbaf265ccfe0bc6033544t5.apk.fb1e01ab353e2666a8c4d27114f090b59dc0debf69bab969@Ƭm@\g0@.@@~;2P@`@#@Ƈ ޕe~ base.modules btrfs.modules https.files phy.modules raid.modules ubifs.modules zfcp.modules, zfs.files jfs.modules lvm.modules mmc.modules{ aoe.modules} base.files/0@Rta*@">-`@n ?.@r^1p@93P@ 3@9@z>@[?@@^oB@|K+C@[ )is ext2.modules ext3.modulesfloppy.modules nbd.filesnetwork.modules nvme.modulest xfs.files އ  .O ..groupinitramfs-initpasswdfstab _ . .. 6.12.8-0-virt ,  ...{@ ޭD̉ . .. archcrypto1drivers fsXkernelZ libw net&security*lsound 8}d . ..x86 M5 . ..cryptokernelkvm  ...{r߀ ީq%aesni-intel.ko.gz camellia-x86_64.ko.gzchacha-x86_64.ko.gzcrc32-pclmul.ko.gzcrc32c-intel.ko.gz curve25519-x86_64.ko.gz serpent-avx-x86_64.ko.gzsha1-ssse3.ko.gzsha512-ssse3.ko.gz|sm4-aesni-avx2-x86_64.ko.gztcamellia-aesni-avx-x86_64.ko.gz@5.apk.8c841edbe86fb11a0045b416a2b9990a7297f401f0b6995a@5.apk.c8d65b99e3b09818a9c0b1f5c02c1e031642adbc05043ba9@t މ_}$camellia-aesni-avx2.ko.gz\twofish-x86_64-3way.ko.gz cast5-avx-x86_64.ko.gzcast6-avx-x86_64.ko.gzblowfish-x86_64.ko.gzaegis128-aesni.ko.gz@zt@Ljp@U@]a@r`@@H @߀0@^C@Qh@@ @EP@[y fdg crct10dif-pclmul.ko.gz poly1305-x86_64.ko.gzserpent-avx2.ko.gz$serpent-sse2-x86_64.ko.gzsha256-ssse3.ko.gz$sm4-aesni-avx-x86_64.ko.gz$ghash-clmulni-intel.ko.gz twofish-avx-x86_64.ko.gztwofish-x86_64.ko.gz  . .. msr.ko.gz\ cpuid.ko.gz no . ..kvm-intel.ko.gz kvm.ko.gz kvm-amd.ko.gz ޝK ...{<0Ja᳆X.@ T* . ..async_pq.ko.gz async_raid6_recov.ko.gzasync_tx.ko.gzasync_xor.ko.gzasync_memcpy.ko.gz /Cansi_cprng.ko.gz authenc.ko.gzcast6_generic.ko.gzcast_common.ko.gzcrc32c_generic.ko.gzcrypto_null.ko.gz ctr.ko.gz essiv.ko.gz gcm.ko.gzmichael_mic.ko.gz pcbc.ko.gz! polyval-generic.ko.gz- xcbc.ko.gz. xctr.ko.gz/ xor.ko.gz0xxhash_generic.ko.gzaegis128.ko.gz af_alg.ko.gzt :T blowfish_generic.ko.gz chacha20poly1305.ko.gzchacha_generic.ko.gz$crypto_engine.ko.gzasync_txcrypto_simd.ko.gz  curve25519-generic.ko.gzghash-generic.ko.gz hctr2.ko.gz lz4.ko.gz lz4hc.ko.gz  poly1305_generic.ko.gz( tcrypt.ko.gz)twofish_common.ko.gz, wp512.ko.gz des_generic.ko.gzd5.apk.e53983be8bffe26cdfa47e21c072dfb39b75b3f10672253e algif_aead.ko.gzalgif_rng.ko.gzcrc32_generic.ko.gz  ecc.ko.gzechainiv.ko.gz$serpent_generic.ko.gzauthencesn.ko.gz\ ccm.ko.gz ޘa֡ cmac.ko.gz cryptd.ko.gz  drbg.ko.gz geniv.ko.gz lrw.ko.gz&sha3_generic.ko.gz*twofish_generic.ko.gzalgif_skcipher.ko.gzdcamellia_generic.ko.gz@cast5_generic.ko.gz4adiantum.ko.gz*[ `@0m @@R]B 0@m@|͚1@YMt\5O@Jap@ i@jm@\At@*{@|@03b nhpoly1305.ko.gz pcrypt.ko.gz" rmd160.ko.gzcrypto_user.ko.gz ecdh_generic.ko.gz# seqiv.ko.gz't sm4.ko.gzalgif_hash.ko.gz᳆@L:@ő@Ht@~t@vydfh@e X.@xp$@VM'4@cD@5dT@d@\ l6ecdsa_generic.ko.gz fcrypt.ko.gz jitterentropy_rng.ko.gz keywrap.ko.gz md4.ko.gz%sha1_generic.ko.gz+ vmac.ko.gz blake2b_generic.ko.gzTblowfish_common.ko.gz@:r @*[ 0@0m @R]B @45@m@{#@<0p@|͚1@@5@$oJtOK@YM $1 . ..2 acpi? ataA baseDblockPcdromR charXcryptoh dcaj dmaofirmwares gpu hid hvhwmon i2cinputiommu mdmessage misc net9nvdimm> nvmeF pciK ptpNrpmsgR rtcT scsiftargeth ttyn usb vdpavhostvideo virtvirtiowatchdogxen 2 .1 ..4acpi_pad.ko.gz5 battery.ko.gz6 button.ko.gz7 fan.ko.gz8 hed.ko.gz; sbs.ko.gz< sbshc.ko.gz= thermal.ko.gz>tiny-power-button.ko.gz9 nfit3Pac.ko.gz V059 .2L..: nfit.ko.gz ޗ4? .1L..@ata_generic.ko.gz 1[]A .1 ..Bfirmware_loader eOB .AL..Cfirmware_class.ko.gz _l:D .1 ..E drbdH loop.ko.gzI nbd.ko.gzJ rbd.ko.gzKvirtio_blk.ko.gzL xen-blkbackN zramGp floppy.ko.gz P!FE .DL..F drbd.ko.gz vL@L .DL..Mxen-blkback.ko.gz <|N .DL..O zram.ko.gz B)P .1L..Q cdrom.ko.gz ޾C;R .1 ..W@ nvram.ko.gzTT hw_randomSHhangcheck-timer.ko.gz ޱ(T .R ..Vvirtio-rng.ko.gzU\rng-core.ko.gz V5X .1 ..Y ccp\intelepadlock-sha.ko.gzfvirtiod0padlock-aes.ko.gz p5UY .X ..[ ccp.ko.gzZ\ccp-crypto.ko.gz U\ .X ..]qat &] .\ ..^qat_4xxx` qat_commonbqat_dh895xccvf 0]^ .]L.._qat_4xxx.ko.gz ޡ ` .]L..aintel_qat.ko.gz 7̃#b .]L..cqat_dh895xccvf.ko.gz *f .XL..gvirtio_crypto.ko.gz *u8h .1L..i dca.ko.gz `Bj .1 ..k ioatmqcom KsWk .jL..l ioatdma.ko.gz %Dm .jL..n hdma.ko.gz ^o .1 ..pLefirqemu_fw_cfg.ko.gz wp .oL..qefi-pstore.ko.gz E~s .1 ..tdrm gst .s ..vdrm_kms_helper.ko.gzw,"drm_panel_orientation_quirks.ko.gzx drm_shmem_helper.ko.gzydrm_ttm_helper.ko.gzzdrm_vram_helper.ko.gz{hyperv} qxl tiny ttm vboxvideovirtiovmwgfx xenu drm.ko.gz Zxf{ .tL..|hyperv_drm.ko.gz \޾} .tL..~ qxl.ko.gz )I .t .. cirrus.ko.gzsimpledrm.ko.gz bochs.ko.gz ޳q'b .tL.. ttm.ko.gz ԰Ô .tL..vboxvideo.ko.gz cH .tL..virtio-gpu.ko.gz ާSL։ .tL.. vmwgfx.ko.gz ޖڠ  .tL..drm_xen_front.ko.gz {3 .1 ..hid-generic.ko.gzhid-hyperv.ko.gz hid.ko.gz uhid.ko.gzusbhidhid-cherry.ko.gz Or . .. usbkbd.ko.gzusbmouse.ko.gz usbhid.ko.gz N .1 ..hv_utils.ko.gz\hv_balloon.ko.gz y .1 .. hwmon.ko.gz\acpi_power_meter.ko.gz = .1 ..busses i2c-dev.ko.gz i2c-mux.ko.gzi2c-smbus.ko.gzmuxesi2c-core.ko.gz 2ў . ..i2c-virtio.ko.gz\i2c-piix4.ko.gz 4˥ .L..i2c-mux-pca9541.ko.gz 74 .1 ..@mousedev.ko.gz miscPmouseserio0 evdev.ko.gz ތȘ .L.. uinput.ko.gz ގ, .L.. psmouse.ko.gz ޺[Ϯ .L.. pcips2.ko.gz 6 .1L..virtio-iommu.ko.gz  .1..{&{5 ޘ^ó .L.. bcache.ko.gz ddm-crypt.ko.gzdm-flakey.ko.gz dm-log.ko.gzdm-mirror.ko.gzdm-multipath.ko.gz dm-raid.ko.gzdm-region-hash.ko.gzdm-thin-pool.ko.gzdm-verity.ko.gzdm-writecache.ko.gz raid0.ko.gz raid10.ko.gz raid456.ko.gzdm-vdo$dm-bio-prison.ko.gz <bcachedm-integrity.ko.gzdm-io-affinity.ko.gz dm-service-time.ko.gz(dm-unstripe.ko.gz dm-log-userspace.ko.gzdm-log-writes.ko.gz dm-mod.ko.gz$persistent-data :K .L.. dm-vdo.ko.gz =`% .L..dm-persistent-data.ko.gz =hv@ raid1.ko.gz dm-zero.ko.gz dm-queue-length.ko.gz dm-round-robin.ko.gzdm-bufio.ko.gzdm-cache-smq.ko.gzdm-snapshot.ko.gzdm-switch.ko.gzdm-cache.ko.gzdm-delay.ko.gz&{F|@[@ t@@C@h@rR$@ 84@5L-G@㼤@z]D@aT@DNd@u @^ .1 ..fusion ؛0 . .. mptctl.ko.gz mptfc.ko.gz mptsas.ko.gzmptscsih.ko.gz, mptspi.ko.gz\ mptbase.ko.gz ! .1 ..Ppvpanicvmw_vmci|vmw_balloon.ko.gz d . ..pvpanic-pci.ko.gz pvpanic.ko.gzpvpanic-mmio.ko.gz )a  .L..vmw_vmci.ko.gz {! .1..{.6 Cfp .L.. bonding.ko.gz ޳ . ..amazongoogleintelmellanox ޱ . ..ena Iem .L.. ena.ko.gz ޖ0ڲ . ..gve  .L.. gve.ko.gz 4V . ..e1000e1000e iavfixgbevflibethlibie ޓ .L.. e1000.ko.gz ޞ .L.. e1000e.ko.gz ԉ .L.. iavf.ko.gz * .L.. ixgbevf.ko.gz re .L.. libeth.ko.gz w  .L.. libie.ko.gz Hv . .. mlx4mlx5 D . .. mlx4_en.ko.gz\mlx4_core.ko.gz ޫX . ..core p .L..mlx5_core.ko.gz   .L..  ipvlan.ko.gz c C|gSC|g <Bk' EFLҬ/ - C"o`BӤ% C|g @ 7^h# -~.t &t_8 &9 _a  \ _B` &R _L  q ҍ q_  V! "! ɳ!*y ELF>թ@ @8 @(6(6@@@nnUU   d 5   00$$Std00Ptd   ,,QtdRtd   `` GNU GNU߷72 k@<p/IN~+ 95?WxT!NL1V@/'g9V 7p-\c%G4|t~%s`pjFr6It%-sk^=_G;+ cH?G}3MgYLX:afQl< oo1  + w=BLg/  zqd%d1 ^p0$K'sIZ68P8 F^3A$ k1Qf.[+,HEw~`jvJUtt)D- ^jm4 @KY@_(7Fe-26&?+&  !M-x#o$O&a iehUy1#_y2*.`ZVMR9!.m$8jKIN\nr>Ln{MAo+ny Z<[;0 *\V|)0r4~%SCr(Su.G};R>]5! zG]!BJeUbO8Bw@P!7::c5~J3[bR^TQT5KCjDSU^Zv>H9S.| ]%@HCDxBP0$aS<0xsYZ^,b*z0#nP<R;|jk`tY,no9 E>2FOV/qC=mpmOT"CZ_| h-GQOl 7*D.g8AP)=LCmz"dF|`X_2p [N&W;T9iA'W Eq [,@yEo,{uK(E6'Qu/u< a>YWgN(h Pd}v;5 Q`q3"gUS 3_Ni'AQ)<:h?BK*wljDiEA=Yx9@S<'Dis)n7b]W%Fr */kd}  l'WH :rH$2XvaRmK;cPi}Lyf=I7 ZY{6A )GJ8Tc]]5(O!Xux{.i)e3MX&qMk6vXh">"{NC45I?Jz$&1?/clB sfl_4Rk`Uuh"fF7ece?IW#lb,\ d["3E2dJ8]#X[6Hmkv\1wa \bf=VLO}o:M,&+T~z>(RD*U2{n0e y4:wagb(\qVB4#fph#tJ-   E@B< N&18 b#$!@$AX@@  B He@ HHLB R "8PL@`HH`  @ bAB@@  ` c1H@ @ *B@ @B aD @@ B $b4J  `( bKX( !  @D@ )h@   }2 P% $H0@ H@A*" KĠBy eP@L1@$"& `R$@P H@A& @DbAX"`   B9 PH@R D A(@ A $9$0$ `` 4@"TEH@C9 &40 8@ pA P`pAA@ X@hA)A(`&"@@!  @P@( @+Q Ԁ0d@H0  @@`H ( @0 `9 Q@  @FHA A@ 2 qP!`a a "A   @@   !`0RjR `D @q D6@P)AB  9@`P @hEa`A@ H ,B`@`* d@A H DB!@@@ DP"B@(FEh&B@0 @I0  0 ˆ RE((@PAPJPD!F P@@ex0zr` "!g2@TN@ HdFÀ3   t 0"  .)GA )$<@0)c7"phD: PB `E JFQG #d q $&"AA 10H(@@ TNH@4R ($ ED  "@ HF@B " P  A0$b@86) !0H@!$@H  %$"  `D  " Zd  aB4@D10g$@b@B0@ @ H  숁@B@0 C-  `0U  !$%&'()+-/0248:;=>@ABEIJLNPSUWZ_bdhimortxyz|    #%&(+-014569<=>?ABDFHIJMOSTVXZ[]^`abdghilnpquwxz}    "$&'*+,169<>@ADEHMOQTVWY\_`abdegiklopqsuvwz   "$%')*+,/02479:;<>ADFGHIJLQTUVW[]acdfhknptux{ "#(+-/345679:;=?CFJKLORUX[]`acefimqrstw{}  !#&*./48;>?AEFHIKMNOPRTVXZ[\^`bdgiklptwxy{}  "$')*.268;=>BCEGKNPQTWXY[]`bcfhlmn*s<|t#ZuV4[_̦ #rx3h[YYr/ :ns:3R/13Ĉ QyË{-8RG|:=O)Va6'l[{T r1:=O+A~zk-4_](B"=5|.G|s=4-2@ʖ:_8-|l·G|.<#=tgV+ì'|KT _ʖ8f|{K.|gY(Gs|?~|V3f^3<KwNuE׈j$PzVYȈ%=r>Qw8ybUt(9AtK eZiƒ`3f rG|Ñ|./A%9H`[%Kcc"Zb@(k8|RqEE!1K0鼽Pvi@c?Lٝʼn,+#$cPl5y>Mv`\zY* دzYVpA>4Btu7[-̎m&J6߲:o* w#6:zk䚥fHAKn`|i.ɝ= |wH: k|L;^p#ua{|1cf qWm!t~2 S hΩa9 >Ϯ ܷ^LFTAt4NWc5|v24ܢKq#8@ =9?fQE{|- o9|g~2&KqÝH{|\Ew|tu"?wqIN7V~.rroI>{𦿋$uuCȕx|m"HE(LzYw-^uk:Uk9@d9m7s[fv@a'"OH*3|@y s$qw|%] ^7vZ=XMW[e-M־6zfiugQ;#mˁ"|gUaVI7 0||`uDe=U:yO7t Ij Һ2(ٽ%T -|(IQ1bD/Î_|>z8oNړעÛPS;#|)]wT< |i|SL2|GF3EpN_9M ;ϝ|JEKP-+k޶Baw )$@@Eqq9ܭP129K39Y:|1 ,GX] ޓvTpN2^?r=ޓ@橉5dr KPT[fޓjޓmj(c$ p|c2(}`,\ TnElsu* H􆳔uJ؄|qbmcٴr0>KωEj2@9ozKD} LZOz}L\tB1kΪ8͓н"Ym\{,*&˂T |4,4Fní qk&`I'b;UŦ̇,3&|O=i |m!UYU`I bn |O=bhѾ nw)ThX9AL5hhZwx# ,ӅyRLnJiQ׋=qј;R+cs? IU Tf $$LR8 y=vט;ue{ 2w{ Y±3~aC+`J)9] Gf9ӛݯڋ;;\Jab AÈʙO۝|ZVvްb>d,)(ϴG@8pFÈ̈́|WH kS|1 o_%t4V.ac1O$sAr]|T|9Kd|Wۓ q߽_| JbYws4/u~|1BfK#♔|ca3u(r89݀AM|z!%u 5sR^_&+\43BE  Z[VGДI-8zRȑ6P QG}Dmw?|7G)1UEHcVs zVؽx+ ]co\jב]TzDuE|ͫbW5r ?]|nE|ݣkB ut.]5r<U+|lsmũl󼖍iN}>|aFs`Y旁B}`|Jm}/&ʃY  @Η;?M%O7+%N+} |1Վ+LBlfV1'*,ږ|Ed|99!X|p7|oc;8/)>Hd|^i;U(Msmږ|9H0/tOd|\ӮKu!Ţ|9NM| -R . ږ|͊>rrfk:>]8/tٽ˜V~vjrO>Fx릮e e K(8!8s sӏhn^-o,vu ;O RJZ[ח^(ĩ! 91A!D=|Ĉ߁i>1$$;Ӛ7Q|{'Si7ѣ"h; |=8X3&N(GiֶOţu=9 \Gy$s`p[!>D|_*EמFG( N_֔ GN$; 70c6;`J|j9Ij0.9D,5? y rt,ap_cĔ84 |Mv+63#ӳ݅x1{`^?ۀA|+67-ʚxh׻dvƟ\,P(]]'2P|kcv88zS@̰umzmjq@|Odr@|o_wope/K)Æ1w@|ke-oĹ@e i5;`Jޔۍ7gII";yhno5৖|h=kQj-j% G>-|!䲢s+o S!C#~}LA΂|9RiVmD{`CƤ-g];-i[)o #x+rk$mDTn7V|V|3aoT-iWҊ|-# CZtb7V|bX=~]0ratE LJ*0k.%$ `k oQ(>Ja. 8|4%/`VfcM(Rj%F/ Qn?ZL퐗+&{J`f`Ȫ"yiJxY xYğ,ߣ_Ws)o'1aD>W_y4=vhKG#=Yџ,W70|qHΚD%ō=i[v 02Z\0V̷>SAM|,R'A`,p+G2f.9VAJ)LyFauշ>hƏ򽋨 PP)L|,fqD> U|$)~ +W|֌`ςZ|i68^ gIo/(%mc`.̎[&7vRQZke]2ľ^5%V6d!9!R(!8yOei9EHry?`:iJrfBYnr,cr^]xY:4)?Nb voPhE=2vnFu>J3KYfHVrٿ͒},>GX7G3q,:_a.#VrH0J\e)[zsZg3eyA5)txR.v Kon<|(f8~Uq"$Aۖ|~x$Z5s<|@'kaBw)t<|^؄ROZ#' gutZ5Ó VRCB4M[;as6F@h$K?B'iG)uuwכ|J.f|XX|7t uŨU_x,z'63䉠rM iReg ៩3TGn%")VRo?fm7e)Y]r\ /fmkwz%w>1u!%ٔVL C?o!8h|PK-7ws`fkEe=Zp*ÛbAT?s@iǗlky<ya|򢒱46j4ksp y87$?O/('Z"p.W#P4a| LX4ɤXVӦ0+ }m\P!egQSr~58" #,zu #sUemotBYz8ºe| \&})fRS{C"6pzrDn%o796Xձ/xzxN+G116KK4cKbN!t!9K]Y /Pb]l"i$$X&| bd c Bo͕w94PnrH5 )$(ٜ o{ČK=G>| Wnr&|I˵ LSy|&p4 >-ئVLWd*慽,W6z1?eT3?\ W22lvxMc<X7?X=n]Ée|dPJֽ/lW>ݲĥ9m$H3R;m$Ps^{f[@m$wAm$c(>B\Q)f9QaXTJKgٓו| UhʿaȜ1^t;ŧZY{%%v6% {;/%c0|F|pźO s;Pev J k5%ܖ|O</^َLN؋SyvbI4|_{BnN] > -^4 uծ7w0n5/N=-L"|)"BYF%: w V17w~ )Y2"\H90TsY?|V?;H2vըK7 fB;V? PJ)%~" XsV?8|LI$|7I;lU'ාjK" &oXs*r `}.@Z+}2 w[`y^bM2*_jԿw[ ,X6L52*S@dkNº҈,_,hv.a|߈n$'!gi PTK6MxmOi$|8maʊЪ5 s8(&$ )t* z%  Xb  2 K$ > 5 s' n U: NR @ @  0&  ^8!0P 8 3 >_Et5 xu#% vX:" X- D> ۢ~ m^* u$9 <~" \) ? )- I&. ZMh 9% Q> O8s  v'{p O19 .T. 1 C O >h  0384P  vm6 y J"  Νy > ;3 s9" @b9* G#,' rKS dE8 J$ Ot JT  $,'& -) h07 +@6 Q a n)" 5K6. KG 41 h4" LM' -r& <^" F> S. CK  o ~1& r*" "  799 J2 @8 P ~ % ? ) `'" (# "  n2 W 0kZ fk58 0(" 0B  k F& A   c % %5 u/ +T  >O' ',*" "W" )" 9E  !% dQ m)  " e`  r " u 4 o("  tCi ; : o  w L iI i- @E% `5 @4wc   9 XE ~" ){/ T% k59" 7 }  dP! ZG# / T(  Ӯ3- 3 8  @ E] :L U* 88 8+2 V!E  [2- dG$0 >} ]- 7 RD(" rK + 9* &/ " _ d0? -J hy 7 + )97 K|% T# )% (5" v: 6: E a z3 3f 5' `b7 |  lo: / 'F  O0, C . eOJ  $  l E )/ UN H8M  CuP*" U(P vGM a PJ, D" z/ T!`M   V/ . I'8 q  > 5q C5 uL u.d. zK\% [ Z YG yUi ](" Q =q  1/ P#  .Ze% 9.  > 1A-" 1a 'g : ^# 6+ ,:% ; W /"r ] D2R" B ? )p  #Z [PG*" G#,u nu  L)X o" 2 :  Fh 4 r$ WCz Dy" G S{0* "WX g8 "9 #T>   ( ( " F  T  |"(" B& = I~  .bd" U:% Q /O  3) G"'  a) B^ y*" &O 2 Ǝ/ E[ F:  Q^ 8  $r ^  p Me 3B V) DC Vo* N%'(/ VP)/   * X5 '  k.+ 9  H )  u#  ? o$ o f# 7R oU # - A  +Op8 $6 b &  : &w f dG+ V" u$" O  - I  '&   0 U  7  $t :5F 6;7 V* $] Q `" US" o  /a H )p(" |  #.U% ]" o | c Uf[ ;  ' r" > .9  $~ d+'" 7*  y  j k83 @ l ^>," Bh  .*6 9!1 Mr )o/ T%  `  *` " pR Zm*, @y, ?D2 & (" B 7!* 5" jK& * ' D(" T]. - , : " E#-" ;;* v - MG $ 4&*  p ?+" n)5" .w  |2 J3 f W+" $(3" bj  = !M + ; J/ P# ^  -4  B1 rE<h( `)  @9 u'   CJ8!M " "`0 U4 Oo( D@& "m  B's ,^*2 v[  :l  /* >nI  $t' !5 vz tm 2 }  * F+ {Q. N ' i44' a C* %N" VS, ; '. IZE >8" n Ǒ%g% 9  h e ! ! ?  R/(   4! '  F  ? " 8 b U:8 : & # K. w  - kB- Gyz  R" 1 Ay=& : ա( : O" ge RY$ jA" |. Jx   0Y Vw8 }&" ' 3' ,( 8 j_8 B"  2 V  >: թo-" 2 0" d  }2!  " +R) , ( : <J c V ?9     - @,"  ]  B~9 / T!O  / O , ; )0 U B v T( M?, l>z t:%F G*\P  K/ l  !  `P- 8c    :" f N J * l,4" l  &   @, B `   @2 | f<& " e' 8" ډg @=# z+ 4 Ө/S ^9 [ f,A: Z! +q   u8"  A}m1 *V H! hZu  { G5  <ma( ,  5U 7P l  =XM v p  > 8  \'+ *> S # (8" M@% G+"   $9 ۙ9! x  .~W  r_  '8{  @8N7 |  8b6'   _ >$)"  <- q0D I"   % '+" D6KR : J# 7  +<wt" ^  bL I vy) +^ k> P @U. L LI .. WO 0 U e   21 V " R/)" + () O  v) " V/  # @h `>F (0  $O+ FK4. <  >/ P S   W8  + :" TJ: {<  : t&<  P+X \ b9 . 8  +)  . 9D  ?, x4 jod G) u% |65*" G#,m8  - F: O7 4ex" ~1j oc VS 1 J Y2 lW%i p  31 l'  3 k) 6% u;3 ?H  ?  ]: ֧5 HVH- yDY nmt ,S D O " `/!`M , D 9 8Eg) C3." $" L/ P 8 &  e#)  Q& bC! L& =+W' (9" r!`M !& ¢)M" -0 UY  Ѿ~  ~" ,S $wza/ T f  9 +   s< +ha S;# ]%   J8 = ) ;U  55f% 9O% ,  $wu w]5>   N Kk. 7k# j7- Fo8 \!V5 ua L t," BK i ~M3" _s_  L0   ; f   C   #/5" Es :9 wj V^G3 k8 Hl k4" o$7 {i  #= Q}y CS& M7 |q /JO +" 9*h V $A2 -W? l '{ W   Z W| F > qx% M   a) _@P9 p4  */ ;)" ^M  &%1. N/ " $ 7 h V _)  0" w 2," @y = #: C3" jK ,7#  5! W!- 8Hk ~A u T f'"  07 p+" } # t G-@  & Ǡ`H" U4 DjU6 x x: % Q8 I ?L( I lN  -1P!O " S[  A 2  +: Ta  }"T% YYO 6 Jz::  «z ?B" ,f7 r8 KD :[X," Ay a]{4" @M @q9 @b Av$" Q%7 w{ko \u  bi ?g& 3 i+ q4 _*m" ]V*  E,A% <  3 :! Nm%  o" G=x% $ S" 0x3< +E' t<' +" 8\ D\C  5X {0 Uo ]9 + Z)" B9 tP: f  I ^ D  : * %*$ U^9  0 Ug: ϥ< ;. IA 0X $ bV 2 [D c{' M  H,b oG " 9 ( :N' <g8" ̅  L@ 4 " 5   " cu9 >  " Y/  9*8  1 V#$ @ 7> 6J" I.  $+ m^ [ 8  PO& D. @HE ,: . u/ T7- WD  d3 )k`M 13 f j   1^.  `H  # : * U(': 2:   C i . Mi r- FQ# (: jX/ qDn% bM    nS JB: <" zxrd 7'    G#*X d C#% 9 Q W?% 9> h  *: bE9 # p|6Z =Z# ~U 58 *`+ $(r 4 n? >! /Ko 8L ;S <b$ O" Wg-b > 0X  pS# J@4" l . x 6?v 8@j s?~ H?!7 ~t7 | }  ]AW  '! _pO  } ' X: -  ;  AA- 12" Eg)"    \/9 ,  A ,}  #/v  V0 .x%  - D$ %/ 5T7 | 9  ͡[ ,.y  a/ <)" % D) ^ C2 uo /@' b:T" cf 4JX v!f   M~/" j= Ub9   ^m U ;M* 72' E " `/9 }= T" 'wt g! , aD  (PW/ T tD" dm 0 U   " PA> e% -D h+ m G=:: 1$3" _  3) U 9-c- XF{5 Q4&  % / Uz%  a X9j" 6 y ' Y(" O l  ^.8 ́+ d . @8 %  9 ;   B&  3 kj ?. @  - @=A ?6x, :D '" 7.: N21 V  #@v :'  %" E[  .t5 u:6 x7" b(" ," `50   ( Q  u* & F6 z3" bj  k&9 dr  >: 2G7 Nm po& 9 q < ~  ~ )" 6%  3) s  {?M ( =t `" Ua u C x  o !?+ n)4  _/@ / TTS  ]" ; 8 M In  / $>' H'   =* % /a#"   2$+" 96" cx    If I4 z" e- ~v }" u6 yE{  ,'" + 8Vj" f v$ @ 'y Jm  د,q A:!\ G + b:>+" V  (T" ay* &, ID1 V" O\. :L T+ 2;  =#: Tu+ `3 / ,Pg" M4$ #, D X vF Le f   Ͻ/6" w{ c '  ]"7 ۛ= H }B, ; " Y" %z% " Q/ k$4" l/+ +}?5 u O " H,H% 7   6!"   s5  + - EY4 l@ lZ G g ? [8  X `  Q/ =8   74(" 0BZ  6 zf  G- ' RE  0 "  ?0 U ` P''  R% > ,   2" :6  p@ WYQ8O   * ԶC H$k9 ̚E% v " ) )1u Z:b  ]N O[YJ"  ;" T= " _/+- D#   269 (  l 1% ? Q( 9 S8!O " _U4" kmj, B  [  8  C 0 C J1 7V + ; !M . N G@1" jb  -R  C x d? z    Z2 s[ 4 1I P C9 ANO    pS s s/!  U,X  f  ,    } PV2# ʺb 0L2  :P b 5?"    Y/[ $J  8 ./ T >VI" T>6" y Q  % -  3yX  y/ =    S/ c)"   ?  qg& Z : 7 _e^  i:l2& t pa-" F  / W"z u- Dy-" EY* &] Uat + D6KK 2 nq? 1 {  0R  3J Q >i *B* " \/  6v yd " S/" x" J" ` h w/ U U5 v/" O3 ]VN GHt. K5 lO " + 4hM . O3z @i'I- D( d i _1:  8 +. `O/. UJA+ 44 oA &" E[ bh" ]a  @! l s  I, ; & uYT I I   gh I\.&" pl dJA  m+ v7 r' W.LI 4' "  &  p" Ui ` hV|c /' I* &   i? k   ,& 7W  b- 8} x'9 G  7  %+K-" D\. `C8. qL% dP1 V 7 ~3, BM# ,Rq+" 4, B+  e " & /C. Kr" y , +D+ 8\1 V Z2 9 f .q y B9 B.l .'  . M - G7" )" ." M  H @r6 E6 4*  /   >K1 AV ~O!  )" ? - `9&  '   w> B o, DD " T> @w# (" :`:  <Si) 29 7 T'  Z T~$   3 p* &`3 f  ;>q)"  (k T," #@v" ^" G Z( { = tL  OE 2 ^ph) + ;D ]`e   w^ n! ¸" " 2> Y5 nN y. _^ 7. z #g9X '* T  * " ut O  " « 4K)" t\" , [S  05 Jn  g  \gM# ?KI V g7 \} )P 3) z8:   nbQ V J @L. K3 K   1 Y_1 /9R 8V  <'B' o)" E," AvQ V@. p@ 07 |  ` yk/&  ?  \ J("  s d)(" 5}*" z%  :$7  8{. @l# SV\80P l. 08  !C0 Ub L  (Y I- xI%pthread_mutex_locksem_post_pthread_cleanup_pushpthread_mutex_unlocklseekfcntlpthread_cond_waitpreadpwrite_pthread_cleanup_popfdatasyncpthread_rwlock_rdlockpthread_rwlock_unlocksigfillsetpthread_sigmaskpthread_rwlock_wrlockpthread_mutex_initpthread_cond_initsem_initpthread_attr_initpthread_attr_setstacksizepthread_attr_setguardsizepthread_attr_setdetachstatepthread_createsem_waitpthread_cond_broadcastgetpidgetuidaio_readaio_writeaio_fsyncaio_returnaio_erroraio_cancelpthread_cancelpthread_rwlock_tryrdlockpthread_rwlock_initaio_suspendpthread_testcancelclock_gettimelio_listiomalloccabshypotcabsfhypotfcabslhypotlcacoscasincacosfcasinfcacoshcacoshfcacoshl__signbitlcacoslcasinlcargatan2cargfatan2fcarglatan2lcsqrtclogcsqrtfclogfcasinhcasinhfcasinhlcsqrtlcloglcatancatanfcatanhcatanhfcatanhlcatanlccosccoshccosfccoshffabscopysignfabsfcopysignfccoshlccoslcexpcexpfcexplcimagcimagfcimaglconjconjfconjlcpowcpowfcpowlcprojcprojfcprojl__fpclassifylcopysignlcrealcrealfcreallcsincsinhcsinfcsinhfcsinhlcsinlctanctanhctanfctanhfctanhlctanlconfstrfpathconfget_nprocs_confsysconfget_nprocsget_phys_pagesget_avphys_pagesgetrlimitstrcmpstrnlenstrncmpcrypt_rstrtoulsetkeyencrypt__ctype_b_loc__ctype_get_mb_cur_max__ctype_tolower_loc__ctype_toupper_locisalnum__isalnum_lisalpha__isalpha_lisasciiisblank__isblank_liscntrl__iscntrl_lisdigit__isdigit_lisgraph__isgraph_lislower__islower_lisprint__isprint_lispunct__ispunct_lisspace__isspace_lisupper__isupper_liswalnumiswalpha__iswalnum_l__iswalpha_liswblank__iswblank_liswcntrl__iswcntrl_liswctypeiswgraphiswloweriswprintiswpunctiswspaceiswupperiswxdigit__iswctype_l__wctype_liswdigit__iswdigit_l__iswgraph_ltowupper__iswlower_l__iswprint_l__iswpunct_lwcschr__iswspace_ltowlower__iswupper_l__iswxdigit_lisxdigit__isxdigit_ltoasciitolower__tolower_ltoupper__toupper_l__towupper_l__towlower_lwcswidthwcwidthtowctrans__wctrans_l__towctrans_lalphasortstrcollclosedirdirfdfdopendirfstatcallocreaddirreaddir_rrewinddirscandirreallocqsortseekdirtelldirversionsortstrverscmp___environ__progname_full__progname__libc_start_main__stack_chk_guard__stack_chk_failclearenvputenvunsetenvsecure_getenvstrlen__errno_location__strerror_l_Exitabortraise__assert_failat_quick_exit__cxa_finalize__cxa_atexit_finicreatopenatposix_fadviseposix_fallocate__flt_roundsfegetroundfegetexceptflagfetestexceptfeholdexceptfegetenvfeclearexceptfesetexceptflagferaiseexceptfesetroundfeupdateenvfesetenvscalbnfmodlscalbnlfabslprogram_invocation_nameprogram_invocation_short_name__uflowftokmsgctlmsggetmsgrcvmsgsndsemctlsemgetsemopsemtimedopshmatshmctlshmdtshmget__tls_get_addrdl_iterate_phdrdladdrdlclosedlerrorvsnprintfdlinfodlopendlsymcuseridgeteuidgetpwuid_rdaemonsetsidvwarnvfprintffputsperrorvwarnxverrverrxeuidaccessfaccessateaccessnftwfutimesfutimensgetdtablesizegetloadavgsysinfogetpagesizegetpasstcgetattrtcsetattrtcdrainendusershellfclosesetusershellfopenfmemopengetusershellgetlineisastreamlutimesutimensatulimitsetrlimitendutxentendutentsetutxentsetutentgetutxentgetutentgetutxidgetutidgetutxlinegetutlinepututxlinepututlineupdwtmpxupdwtmputmpxnameutmpnamevallocadjtimexclock_adjtimearch_prctlcapsetcapgetchrootclonecopy_file_rangeepoll_create1epoll_createepoll_ctlepoll_pwaitepoll_waiteventfdeventfd_readeventfd_writefanotify_initfanotify_markflockgetdentsgetrandomgettidinotify_init1inotify_initinotify_add_watchinotify_rm_watchiopermioplklogctlsem_destroymembarriermemfd_createmlock2mlockinit_moduledelete_moduleumountumount2name_to_handle_atopen_by_handle_atpersonalitypivot_rootpreadv2prlimitprocess_vm_writevprocess_vm_readvptracepwritev2quotactlrebootremap_file_pagessbrksendfilesetfsgidsetfsuidsetgroupssethostnamesetnssettimeofdayclock_settimesignalfdstatxfstatatstimeswaponswapoffsync_file_rangesyncfsteetimerfd_createtimerfd_settimetimerfd_gettimeunsharevhangupvmsplicewait3wait4lgetxattrfgetxattrllistxattrflistxattrlsetxattrfsetxattrlremovexattrfremovexattrbind_textdomain_codesetstrcasecmpcatclosemunmapcatgetsbsearchcatopenstrchrstrcspnbindtextdomaindcngettextdcgettextdngettextdgettext__duplocale__freelocaleiconv_openiconvmbrtowcwctombiconv_close__nl_langinfo_l__nl_langinfolocaleconv__newlocalesetlocale__strcoll_lstrfmon_lstrfmonstrtof__strtof_lstrtod__strtod_lstrtold__strtold_l__strxfrm_lstrcpystrxfrm__uselocale__wcscoll_lwcscmpwcscoll__wcsxfrm_lwcslenwmemcpywcsxfrmaligned_allocmprotectmalloc_usable_sizeposix_memalignreallocarray__fpclassify__fpclassifyffloor__signbit__signbitflog1plog1pflog1plcbrtcbrtfcbrtlceilceilfexpm1expm1fexpm1lerfcerfferfcferflerfclexp10exp2pow10exp10fmodffexp2fpow10fexp10lmodflexp2lpow10lfdimfdimffdimlfinitefiniteffloorffmalfrexplilogblnextafterlfmaxfmaxffmaxlfminfminffminlfmodfmodffrexpfrexpfilogbilogbfj0y0j0fy0fj1y1j1fy1fjnynjnfynfldexpldexpfscalbnfldexpllgamma__signgamlgamma_rlgammaflgammaf_r__lgammal_rfloorllgammalllroundllroundfllroundllog10log10flog2log2fnannanfnanlnearbyintnearbyintfnearbyintlnextafternextafterfnexttowardnexttowardfnexttowardlremainderremquodremremainderfremquofdremfscalbscalbfscalblnscalblnfscalblnlsignificandsignificandfsincossincosfsincosltgammatgammaftgammaltrunctruncfceilltrunclfmafmafllrintllrintfllrintllog10llog2lremainderlremquola64ll64a__xpg_basenamedirnameffsffslffsllfmtmsgpthread_setcancelstateforkptyopenptypipe2login_ttywaitpidget_current_dir_namegetcwdstrdupgetauxvalgetdomainnameunamegetentropygethostidfwriteoptind__optreset__optposoptargmbtowcoptoptopterr__posix_getoptmblengetopt_longgetopt_long_onlygetprioritygetresgidgetresuidgetrusagegetsuboptinitgroupsgetgrouplistioctlissetugidlockfsetmntentendmntentgetmntent_rfgetsfeofferrorgetmntentaddmntentfseekhasmntoptstrstrlstatptsnameposix_openptgrantptunlockptptsname_rrealpathreadlinksetdomainnamesetprioritysyscallgmtime_rstrftime_lsocketconnectsetlogmaskcloselogopenlogvsyslogwordfreewordexpfdopenexeclmincoremlockallmmapmremapmsyncmunlockmunlockallposix_madviseshm_openshm_unlinkmq_closemq_getattrmq_setattrpthread_selfpthread_detachrecvmq_notifypthread_joinmq_openmq_receivemq_timedreceivemq_sendmq_timedsendmq_unlinkc16rtombwcrtombc32rtombmbrlenmbrtoc16mbrtoc32mbsinitmbsnrtowcsmbsrtowcsmbstowcswcsnrtombswcsrtombswcstombswctobacceptaccept4binddn_compdn_expanddn_skipnamesethostentsetnetentgethostentgetnetentendhostentendnetentether_aton_rether_atonether_ntoa_rether_ntoaether_lineether_ntohostether_hosttonfreeaddrinfogai_strerrorgetaddrinfohtonsgethostbyaddr__h_errno_locationgethostbyaddr_rgetnameinfogethostbynamegethostbyname2gethostbyname2_rgethostbyname_rfreeifaddrsgetifaddrsinet_ntopstrcatif_indextonamentohsgetpeernamegetservbynamegetservbyname_rgetservbyportgetservbyport_rstrtolgetsocknamegetsockopth_errnoherrorhstrerrorhtonlif_freenameindexstrncpyif_nameindexif_nametoindexin6addr_anyin6addr_loopbackinet_addrinet_atoninet_networkntohlinet_makeaddrinet_lnaofinet_netofinet_ntoastrspninet_ptonlistenstrtoullgetnetbyaddrgetnetbynamens_get16ns_get32ns_put16ns_put32ns_skiprrns_initparsens_name_uncompressns_parserr_ns_flagdataendprotoentsetprotoentgetprotoentgetprotobynamegetprotobynumberrecvfromrecvmmsgrecvmsgres_initres_mkquerysetsockoptsendtosendmsgres_queryres_searchres_querydomainres_send__res_statesendmmsgendserventsetserventgetserventshutdownsockatmarksocketpairfgetgrentfgetpwentfgetspentfreadgetgrnam_rgetgrgid_rsetgrentendgrentgetgrgidgetgrnamgetpwnam_rsetpwentendpwentgetpwuidgetpwnamsetspentendspentgetspnamgetspnam_rulckpwdfputgrentflockfilefunlockfilefputcputpwentputspenterand48drand48lcong48nrand48lrand48jrand48mrand48srandrand_rsrandominitstatesetstateseed48srand48_Forkexecvexecleexeclpexecvpexecvpefexecvesigismemberposix_spawnposix_spawn_file_actions_addchdir_npposix_spawn_file_actions_addcloseposix_spawn_file_actions_adddup2posix_spawn_file_actions_addfchdir_npposix_spawn_file_actions_addopenposix_spawn_file_actions_destroyposix_spawn_file_actions_initposix_spawnattr_destroyposix_spawnattr_getflagsposix_spawnattr_getpgroupposix_spawnattr_getsigdefaultposix_spawnattr_getsigmaskposix_spawnattr_initposix_spawnattr_getschedparamposix_spawnattr_setschedparamposix_spawnattr_getschedpolicyposix_spawnattr_setschedpolicyposix_spawnattr_setflagsposix_spawnattr_setpgroupposix_spawnattr_setsigdefaultposix_spawnattr_setsigmaskposix_spawnpsystemsigactionsigaddsetsigprocmasksigemptysetwaitidvforkfnmatchglobglobfreeregfreeregcompregerrorregexecsched_setaffinitypthread_setaffinity_npsched_getaffinitypthread_getaffinity_np__sched_cpucountsched_get_priority_maxsched_get_priority_minsched_getcpusched_getparamsched_getschedulersched_rr_get_intervalsched_setparamsched_setschedulersched_yieldhcreatehdestroyhcreate_rhdestroy_rhsearch_rhsearchinsqueremquelsearchlfindtdeletetdestroytfindtsearchtwalkppollpselect_longjmp__setjmpgetitimerkillpgpsiginfopsignalstrsignalsetitimersigaltstacksigandsetsigdelsetsigholdsigignoresiginterruptsigisemptysetsiglongjmp__sysv_signalbsd_signalsigorsetsigpausesigsuspendsigpendingsigqueuesigrelse__libc_current_sigrtmax__libc_current_sigrtminsigsetsigtimedwaitsigwaitsigwaitinfo__sigsetjmp__fxstat__fxstatat__lxstat__xstat__xmknod__xmknodatfchmodfchmodatfutimesatlchmodmkdirmkdiratmkfifomkfifoatfstatfsfstatvfsumask__overflowvasprintfclearerrclearerr_unlockedvdprintf_flushlbffflush__fsetlocking__fwriting__freading__freadable__fwritable__flbf__fbufsize__fpending__fpurge__freadahead__freadptr__freadptrinc__fseterr_IO_feof_unlocked_IO_ferror_unlockedfflush_unlockedfgetcfgetlnungetcfgetposfgets_unlocked__fgetwc_unlockedfwidefgetwcfgetwsfgetws_unlockedfilenofileno_unlockedftrylockfilefopencookiefputs_unlocked__fputwc_unlockedfputwcfputwsfputws_unlockedfread_unlockedfreopen__isoc99_fscanffseekofsetposftelloftellvfwprintffwrite_unlocked__isoc99_fwscanf_IO_getc_IO_getc_unlockedfgetc_unlockedgetchargetchar_unlocked__getdelimgetwgetwchargetwchar_unlockedopen_memstreamopen_wmemstreampclosepopen_IO_putc_IO_putc_unlockedfputc_unlockedputcharputchar_unlockedputwputwcharputwchar_unlockedremoverenamerewind__isoc99_scanfsetbufsetvbufsetbuffersetlinebufvsprintf__isoc99_sscanfstderrstdinstdoutvswprintf__isoc99_swscanftempnamtmpfiletmpnamungetwc__isoc99_vfscanfwcsnlen__isoc99_vfwscanfvprintf__isoc99_vscanf__isoc99_vsscanf__isoc99_vswscanfvwprintf__isoc99_vwscanf__isoc99_wscanfatofatoiatolatollecvtfcvtgcvtimaxabsimaxdivllabslldivqsort_r__strtoull_internalstrtoll__strtoll_internal__strtoul_internal__strtol_internalstrtoimax__strtoimax_internalstrtoumax__strtoumax_internalwcstofwcstodwcstoldwcstoullwcstollwcstoulwcstolwcstoimaxwcstoumaxbcmpbcopyexplicit_bzeromemccpymemmemmempcpymemrchrrindexstrrchrstpcpystpncpy__strcasecmp_lstrcasestrstrncasecmpstrchrnul__xpg_strerror_rstrlcatstrlcpy__strncasecmp_lstrncatstrndupstrpbrkstrsepstrtokstrtok_rswabwcpcpywcscpywcpncpywcsncpywcscasecmpwcsncasecmpwcscasecmp_lwcscatwcscspnwcsdupwcsncasecmp_lwcsncatwcsncmpwmemsetwmemchrwcspbrkwcsrchrwcsspnwcsstrwmemcmpwcstokwcswcswmemmovemkdtempmkostempmkostempsmkstempmkstempsmktempcfgetospeedcfgetispeedcfmakerawcfsetospeedcfsetspeedcfsetispeedtcflowtcflushtcgetsidtcgetwinsizetcsendbreaktcsetwinsizecall_oncecnd_broadcastcnd_destroycnd_initcnd_signalcnd_timedwaitcnd_waitmtx_destroymtx_initmtx_lockmtx_timedlockmtx_trylockmtx_unlockpthread_atforkpthread_attr_destroypthread_attr_getdetachstatepthread_attr_getguardsizepthread_attr_getinheritschedpthread_attr_getschedparampthread_attr_getschedpolicypthread_attr_getscopepthread_attr_getstackpthread_attr_getstacksizepthread_barrierattr_getpsharedpthread_condattr_getclockpthread_condattr_getpsharedpthread_mutexattr_getprotocolpthread_mutexattr_getpsharedpthread_mutexattr_getrobustpthread_mutexattr_gettypepthread_rwlockattr_getpsharedpthread_attr_setinheritschedpthread_attr_setschedparampthread_attr_setschedpolicypthread_attr_setscopepthread_attr_setstackpthread_barrier_destroypthread_barrier_initpthread_barrier_waitpthread_barrierattr_destroypthread_barrierattr_initpthread_barrierattr_setpsharedpthread_exitpthread_killpthread_cond_destroypthread_cond_signalpthread_cond_timedwaitpthread_condattr_destroypthread_condattr_initpthread_condattr_setclockpthread_condattr_setpsharedthrd_detachthrd_equalpthread_equalpthread_getattr_nppthread_getconcurrencypthread_getcpuclockidpthread_getname_nppthread_getschedparamtss_getpthread_getspecificpthread_timedjoin_nppthread_tryjoin_nppthread_key_createpthread_key_deletepthread_mutex_consistentpthread_mutex_destroypthread_mutex_getprioceilingpthread_mutex_setprioceilingpthread_mutex_timedlockpthread_mutex_trylockpthread_mutexattr_destroypthread_mutexattr_initpthread_mutexattr_setprotocolpthread_mutexattr_setpsharedpthread_mutexattr_setrobustpthread_mutexattr_settypepthread_oncepthread_rwlock_destroypthread_rwlock_timedrdlockpthread_rwlock_trywrlockpthread_rwlock_timedwrlockpthread_rwlockattr_destroypthread_rwlockattr_initpthread_rwlockattr_setpsharedthrd_currentpthread_setattr_default_nppthread_getattr_default_nppthread_setcanceltypepthread_setconcurrencypthread_setname_nppthread_setschedparampthread_setschedpriopthread_setspecificpthread_spin_destroypthread_spin_initpthread_spin_lockpthread_spin_trylockpthread_spin_unlocksem_getvaluesem_opensem_closesem_timedwaitsem_trywaitsem_unlinkthrd_createthrd_exitthrd_jointhrd_sleepthrd_yieldtss_createtss_deletetss_set__tzname__timezone__daylighttzsetasctimeasctime_rclock_getcpuclockidclock_getresclock_nanosleeplocaltimelocaltime_rdifftimegetdatestrptimegetdate_errgettimeofdaygmtimemktimestrftimetimegmtimer_createtimer_deletetimer_getoverruntimer_gettimetimer_settimetimespec_getutime__wcsftime_lwcsftimeacctctermiddup3getgidgetegidfchdirfchownfchownatftruncategetgroupsgethostnamegetlogingetlogin_rgetpgidgetppidisattylchownnicepipeposix_closepreadvpwritevreadlinkatrenameatrmdirsetegidseteuidsetgidsetpgidsetregidsetresgidsetresuidsetreuidsetuidsymlinksymlinkattcgetpgrptcsetpgrpttynamettyname_rualarmunlinkatusleep_dlstart_dl_debug_state__dls2b__dls3_dl_debug_addrlibc.musl-x86_64.so.1 h     (  D   ,    |P VX $` ]h :p ~x g ?? s5:%<@%:h%2h%*h%"h%h%hH5H% S[L1@f.Dx>tHSHR HP7u6H=m LHuBH1[5H=6H= `7H3 [fHL9tH?t1 HHtHH<2t1fHHtHH2H<t1H2H HHH=tHf.f.f.AWAVAUATUSH>$H$#~2HFaHH J4@}$E0M0 }$ AD$9H$HEH\$LMLEHL=p _oEA?`P _PEDA?>AAE DI9tlDPA A_GEA?AHD ڈQP _A?AHA DQI9AHD$H\$0H$ff.HʉPH9u@HLt$xIH$xL$pHHD$苷H5pL113$LMH3$豶AUIMM9t83$3$II舶AU1H[]A\A]A^A_Lc@IHff.ff.ff.~H~@ff@I9uLD$H11HHfo$~$foHf)@L9u~D$pLD$11HHffD$pl$NHLD$(IA4$AT$A@LH߉T$,艵T$,AuALH=sIHAIH9uH$HHEH5mL$ HA0CHD$@HʉPL9uH$HL$L$Hx0QAA|$D$ Lm@11IDsfDD)M9tAI Ƹ1„t!t$ HtCHHLDHHHt4HHHHtvHotHoHDIIIMMMHAy'LDxFtZHFuF1fuF LHT$LD$4LL$LLL$LD$'HT$u ID$HAyff.HIH9bAD$ƃssfA|$tA4$LHT$LD$LLL$LL$LD$'HT$uMnAwkfA Y$nA nf(ff.ff.fYf*؃YD9u^-mf(D qD{XD^f(X^f(f(fD(AXY\)ff.AXf(كYA\fD(f(fD/wfff.ff.f*XX^\f(^˃sd$ |$T$L$K|$sL$T$Yd$ -lf/f(f(Fff.ff.ff.ff.ff.fff(A*XYf(^\f(Auf(L$ t$\$(T$*gT$D$f(fwD$D$[fH~D$KfHnt$L$ f/D$\$(Y^nyf(f(Kff.ff.ff.ff.ff.A!fA*XY^\f(f/f(v^f(^D$Y^f.f.f.f.fDfH~f(HщH ؉ Ё =ZUSHHtl u[F'1f($f$D$f(v$\$1foUfof^tx1Hf([]AfRgf(ƒ$$D$f(*L$$fW ,Z\Y sf( $ $^f(tfWYH[]Hf([]u$*$D$f(L$$\T$T$$f() $T$XY$D$f()L$$\,ff.ff.ff.f*X^Y\f(fof(Ufo9f~ufuf(tfWXATUSf~É݁H DgE!S(fA*/5/Y%~ j~A9ANԃ(ff.ff.Yf*ЃY9u^3H []A\bjAWWA5H []A\zD$ 5jd$ D$(zd$ T$1(Bff.ff.ff.ff.ff.(ȃf*X^Y\(A9uh-M}(D }DXD^(X^((D(AXY\!fDAX(уYA\D((D/wfff.ff.Df*XX^\(^ʃs\$|$d$L$ |$؁L$ d$Y-T|\$/((Iff.ff.ff.ff.ff.fDf(A*XY(^\(Au(L$t$T$d$hd$D$ (oxD$D$ -f~D$fnt$L$/rnD$ T$Y^l(($ff.fDA^fA*XY^\/((v^(^D$Y^ftWTH []A\f.f.Df~(Љ%=y t f^=USHtx#u9H([]/xH([]guN(xWTH[]1(T$gT$D$ (wT$\$ 1f~,Ãf*X^Y\(f~(9}uυtWSyff.f.f.f.f.UHHSHHHt`1tZDAADAуA HHAAA eHDHH"dH%HH:t=HHHW q~HHHHHuFHH[]#ff.ff.ff.fHHHWHuH)HEDH3 ကt HH)ߍqH~2w)H5 C4Kσ vu ;vʨTHxK?wہu HkK?wHVH]3KHHHfnsfnfbfnsfnfbflGHv3 ကt q~V2w:DCH5(B4DAAAɃD Ƀw Hu;thʧTH]HH[]K?v衧HTAA x HpK?wAHA THEH)H|HAo|HH q~HHHf.AWAVAUATIUSHHtHIHHE1Hl$ 7IHL[]A\A]A^A_ff.ff.IH3tʃv1HHtIff.ff.ff.ff.ff.@uHHHI$Hv2I$0V~v؅t'1H~H1HH)I$Lt$ AEI)I$I) ff.fD@uHHHI$HI$0V~vՅt1LIHH9rI$H1LL)0I$f.f.DAWAVAUATUSHHt$0H|$(T$XHL$@LD$`HD$Hu*~HD$0H[]A\A]A^A_øH\$HL$(t$XHCH€9.HL$Pt1Hw̄uHD$(HL$HHD$PDD$111OH=wuHD$Huj)>yHcٍy)H\$HLpA9t5AyA)DL pHD$@HH8HL$HD$<HD$ HHL$h6ցR%? HIT 9LGY$Hl$PH|$\H H5^HHl$81H|$`H~-|$`HL$ht|H|$8HXu D;d$dHT$HH #HsHtfD8HtLq o< gLHH|$tHL$@H|$@ H5D$dHL$@Eff.@IAtƒ v tL#ff.ff.fHt wL)HL$HLLbH|$p$L$HD$ DI|$A?)HI,IGHD$UDAAMff.ff.ff.ff.fDHtAHH)HD9suCD9uHt$DH{ 腷I|$A$At$9r3\6H4H)HyHtrID$A$A\$H4H)IcHIwDsH{ DkNAD$A$ADAD$EA$E1H[]A\A]A^A_þ넸f.AWAVAUATAUDSHH|$HHIHHPH=HPHL@t A H|$DHL(AƃAAąu-HT$1ff.DHz D9uHD$IcL-HXHH)H,GAt t`EA HD$f@@ A@@(@ @3HD$f@ At@@ @(E1A@@@(@ @ @3Ճ tBHD$f@ AtHD$@@ @(A[HD$f @ HD$fE1A@ @AdE[HT$1HzD9u9E1@t !H|$DHL:UAƅtAAHD$pL$LHHD$ \x/1E1ff.DB;t<.IH$BD;IwH9s&<.u.Ƅ$H H5zL*LHH|$dHLd$`HD$PALd$ HD$0LDT$LDT$( LIDD$AD$D$?AD$E1D$@1ɅHt$ T$(ljD$ \DL$ b1XH|$IcH O~|$H14DH[]A\A]A^A_f.f.f.f.f.U1fHAWAVAUATSHpHHH8 LeHHCHXHcH)HH(HLHH)HD4H HIHHH@H)HH)HD6HxHHH)HIt$DžAiD$`DždDž`PAD$XHtHIICLHh跿5iHhfAFfAFdIHdA;D$TsX~tI~Hh`5HhDž fAFDž`FAF fAFD1ҾDA 08atjA fDx1 9dtރ: t1Ҿ:Dž0Dž` Hcd1HH)ID0E0)H0AL%vDž05dHHH)L4ff.ff.fIM9tGfA}uI}L载I} L謽A AEfE]AEDž A fDD0fEH`0HHhx1t@~?A-0 1AADH9H@0KLAIfD@0H5f!@HHHHrx1jHHH 1ƼP1 HcDž@HHIHcPH)HHH ff.fH9~HHHP<9 HLHH)H9)LHcD)I8 9@Hh0f1H8HH` Hc@DžL$H I$HHc4HHH H[K`LE1HPD9d'HPHhLIgAˋdHE1HH)HHPff.fDID9~UHHB4uLL9PtH(D`M@0IJcHXJ4L+H @H9~ HXI4$H:@8>uJ8Nu؉P9HHLcNN EEI$R`HHH8J4HA L79@I:HcDI4$LLL L LLDI@u 9A1DL H(L fHXCDtH(HX)@HDž`B)0HDž)PDžHffHHJHHcHH@HHJcIH$HHDžHH@H9HDžHH@CH|$(LDD$$nDD$$HtT$HL$H9HHt$L}nHT$dH$BHH9s;I}H4iHT$dH$IEBHHIE~D$XfH|$1fffbfofsfA~ffIMHH48H9t`8H@uHcHIMHt$H1Ht$ˡHqIHL$HD$HI>LZtHHcH9T$dt%LAY|$81dHI6HcD$XH<$T$`HfHnfHnЉWflIMHOxuHcL$\|uHtHŜuH$HD$ 9qHYLXH;|$81yD8HxD[]A\A]A^A_AWAAVMAUMATIUHSHHHHD$ Ht$HD$(HD$0HD$8RHL$ AUHHDHD$@PLL$@LD$8I}XZHD$8HT$(H HD I9rKLHt$ H؃ILcIfInLfl)$~L$ o1flff$]IEH|$0"۟H|$ џ|$1x(kff.ff.H+D$ LHHD$0HKHHHHuHH|$0kH|$ a|$1uHH[]A\A]A^A_f.f.f.AWAVIAUIATUHSLHxIt$Ht$,LD$H5\H=Q_bIHu&wD8|$,1~Etd2T$9Pt=HL$ILLLPJADžHHtHtH0HuLBVH;t,|$,1E1AL1fHHD$5D$`H@D$<)D$@)D$PdHT$@LD$0$D$0NIHD$DD$HT$LDT$XEDD$\E|$` D D 4HD$DDI>HcH90HLhH&I>HcL$HHcT$LHcD$XHfHnHct$\fHnHflHIUAE~D$PHIE Iu(fAEyzxHcD$`|HHH"L+T$Ht$?Aff.ff.ff.fЉHIH#DED)0щƒ w=Ht$Ht$HtIHD$H0I>LTt#tD8LS'f~9D$CLAS|$,1ELSZLA S|$,1aLsSH;@|$,1BRtD8HxD[]A\A]A^A_AWIAVAUAATEUHSHHL $uAu_E1AAPtLAEA;ff.ff.ff.f.HAD/HHUHwCt7rE10tH$LG4$ADEH\$PEt1H$ HLE1WA뀾/H˝D$//IHtA@tZHH=WIEhHD$IqHD$D$LMtSD%D$HD$8DD$<HH9sx\tLD$//H)ƒtD$/\I}LH$G4$AAH)HD$0Ht$H|$ IQLL$0ңLL$0D$/LAEHAVEL$(Jt LL$]AXZE HD$H|$gIHMhAFt <t< IFHHD$迓IH)I9vT$AD H1ff.ff.fHHHDEyH|$DHt$@ABHLD$HHLT$8H!H Ht$@ LT$8LD$HHA H|$D$ H|$DL$LD$AD$PAD$HD$0AD$L苌L背H|$yDL$HD[]A\A]A^A_1ff.fHHALyIt$ HHDxLD$8HcLT$`HHT$H踋LD$8Hu A 9HT$HIt$ LT$`HDLf.0H2HyH#T$XHLD$8HLT$HHHT$Xw LD$8LT$HH U@ALw"IBHHyHtE D]EEH|$u(ABD$4D$ ED$D$4^D|$H|$LLD$HLT$8D1 DD$$L$(IT$8AIcLT$8ELD$H H ?yHTID$@1HHH>yD$D$0t$$ID$@D$$4ID$@DPH1HHID$ T$u׉HH#$HLT$HHLD$8HH$ LD$8LT$HA H >ALH LD$8LT$HH >HHH!$H$ LD$8LT$HH f>HD$`T$4HPHH#$H HH$3 LD$8LT$HH >HT$`z~A~ t$4t$4H$HLT$HILD$8L!H HH$ LD$8LT$HH =H$HLT$HLD$8L!HHH$| LD$8LT$HA H Z=Ht$`HP LD$8LT$HH 6=L!$H$H LD$8LT$HH =AH|$MzzU]HH#T$hLT$HH LD$8HT$hHHLD$8LT$HH <LHLD$HLT$8LT$8LD$HH r<HH#$HLT$HHLD$8HH$@LD$8LT$HH &<I7HLD$8LT$HH <xHHH!$H$LD$8LT$HH ;A:}H|$D$4D$ ED$D$41D$(AGH$D$HLT$HHLD$8H!H H$FLD$8LT$HHH ;AGH#$LT$HLD$8H H$H4AG0E1D\$(YT$H|$LLD$HLT$80L$(HcT$AAGIt$8LT$8LD$H ȃ|$$y%T$LHLD$(;LD$(H k:IT$@1HH|y|$HD$0HH|$T$(LT$HLD$8HcT$(It$8A LD$8LT$HH B7tID$8D$ D$(BH|$DLLD$(aLD$(H 6Aff.ff.ff.ff.ff.XHxЋ\$HHID$ uۉEl$$ID$@1ff.ff.HHHyD$D$0L$$ID$@ ID$@DIBD}H0H@Ht$pHD$xEt$4t$`FHT$PHLT$HILD$8L!H HHT$PLD$8LT$HH 5"H$T$`HL!H HH$LD$8LT$HH n5HHdLD$8LT$HH J5EH$HL!H HH$"LD$8LT$HH 5~LHLD$HLT$8LT$8LD$HH 4PHt$xHLT$HLD$8LD$8LT$HH 4 Ht$pHLD$8LT$HH 4H$HL!HHH$cLD$8LT$HH I4Ht$xH=LD$8LT$HH #4L!$H$H LD$8LT$HH 3hH$HL!HHH$LD$8LT$HH 3-Ht$pHLD$8LT$HH 3L!$H$HzLD$8LT$HH `3A}x'H|$;D$4D$ ED$D$4AzD$4pt$D$4A9ZPS HcH,L<PS BT>C E[E@A9D$(gf.f.f.f.f.AWAVAUATUSHHHH|$8T$D)}HH}HEHfo 11EHD$0HlH$18HHD$HMHD$01HH$H$D$DH$ $4DŽ$0D$EE1E1E1D$XT$<\C<(LHLL$lHt$HWD$XHHH#T$PH IHHT$P&D$HSAAE1D|$XE1H$ CH<(hEt<)trH|$HHLL$DAąYH$LL$H}{H{A HSD$XAE1H$ E1CHLL$H$Q<{f<+DT$E1<\D$E1AH$H11AL$H|$DT$(LL$ L\$ H|$11A0I H9M0L\$H LhDT$(LL$ HHM]AeEeEU ASH$PIDd$EC<+xHcHtHD$HHtsIF8AFHPHcHAFH HD$|TtIF@Ht1$(:tHtIF H|$0LLH~t/H|$0A #H}AtH9tHD$E LHDŽ$DŽ$D$Xu1HuH$D$PD$\HD$U 9T$XgBHMzE HH4} H|1H|$ tUuHD$ L`U D1ET$D$H$AfA|$ Zl$\uD$P$sHD$ ]w~HD$ HL`It$HHH!$H$I4$HH!$H$HqHD$ HL`It$}uVHHH!$H$Wu0I4$HGu H!$H$H+j$D$P$,9L‰$,HD$ HPHHy H,$BB;$$H$$HIL|$ L!H I_HH$YLHqFH$HL!HHH$GH3H4 L!$H$H{~DŽ$D$\8{ D$HE11HDŽ$D$H$HD$(H|$0HHHiET$E9}`$I$1HAD$E9t$H$PLL$LD$8H|$@+AXAYH$HuHAD$ H$HL$`!I$IHE1D$H$1D|$PH$PLd$@L^_H$E11LH$HtD$HtH|$0HHdHNHPHL$ t$HHQD$)D$P&L$MH|$0DT$(HHH|$0LnH$HDT$(AD$ AA9$I$1E1DT$(HD$t$H$PLD$pH|$@ZYxH$L$DT$(H0MtH|$0LUDT$(IIL$H$$HHH$L$P$,H\$09LH11A$,HHLHHD$HHH] 1HAŅH$U HD$i`ID$DXEtHDR1EAT$HHR IT$ HH@(ID$(U A$)_LH8HHH#$HHH$ID$HHpIL!|$xHHt$xID$HH0kL!$H$GLH:HHH#$HHH$P ID$HHp7IL!|$hHHt$hID$HH0L!|$pHD$p+M|$IH,HH|$011ApAD$fAnGfAnMOfbLL$ fD$H<~D$LL$ 11H@ H|$0Apf~ DHf@8H@(@0@@ID$ fAnWfAn'M_ MWMOfbL\$(LT$ fI~LL$LL$LT$ HL\$(~> L8DHLP LX(@0@@f@8ID$(U aH|$011ApAD$EODL$H.DL$L 11HH@ H|$0ApHHLP8DH@(@0@@ID$ MOELL$0LL$L_ HHD8HpH@ H@(DH0LP8@@ID$(U qH|$011A8AD$HtKL= H|$011@A8L8ID$ Ht%L8@ID$(U ID$ ID$(LHH$HIL!HHH$ID$HH0L!$H$HHtbfAL$IGE11H|$0HP IHp }-ID$ H5IGH|$0E11HP(IHp(Q-ID$(H U 92BHuE H ƉU Ldt9juM|$I@SIG1ɋ@@M|$I@tIGDH1EAD$I7DFEu&HF ID$ Iw~HF(ID$(GLD$11H*7$xHcH+gHI7E1HH$HHD$DŽ$*LL$IH|$0LLL$D$HP IGHp +H|$ID$ fI|$ +LD$11H<*z$xHcHnfH[IwE1HH$HHD$DŽ$)LL$uIIGH|$0LLL$D$HP(IHp(3+H|$ID$(DfI|$(L+fHc$,HeIHHc$,HeHH1 AH9$,H|$1L11D,AAHEl9$,A}8NeHD$H"IH|$HLEnHAąHD$IF(1H@ H8yz8dIHIFHD$LH -LL$HT$(IqpLD$ LL$AAI8I8A@IcHcHL$HH)HI@AI@A@IqHtTHHyHcLD$ HLL$HHT$(#dLD$ HI@HMH|$0A 'H}EdH=dL5dH-dHD$8LpHmHHD[]A\A]A^A_HD$I@HL$fnl$DEnH@(H|$0HcHcHH)HIFfn$,fbfAFTH}cHcLcHcHD$8LpeH|$0PH}ncHfc$H|$0A *H}HcH@cL8cH|$0A H}cHcMtH$LL'IHSME1H$ CHMtH$LL{|ItElHA\MuHSME1H$ CHof.f.@MxuUI1fvSLY 11fvcfvLHH1fveff.ff.ff.ff.DADIcxHHHH9|H@H9B~AZ49mH9s0HMLMtHE1fDHAHH9r[]LHLHcKA9JPtI HHHuAZ49H9HIHHc A;JPtI,H(HcKA;JPI HHHtff.HAHH9rf.f.f.f.@AWAVAUATUSDHLH$AoXH$H$@t[Eg\EDHDŽ$l$hD$@DŽ$AOTlH$HcE11IcGHPH$AH<_H$HAoXE_\D$@D$hE:IcwTMcgHDŽ$HLHHHIIHIHDiHMcJ&IILHC ¨YA_>$_LT$hLL$`jLL$`LT$hC HDLT$hLL$`<LL$`LT$h$E_JS €tCDLT$hLL$`LL$`LT$h$_ft@AGXHk(DLT$hLL$`r!HLLL$`LT$hS ?AWXH{0DLT$hLL$`LL$`LT$hvM$A_ƒ_ILT$hLL$`LL$`LT$h9S _pHs(DLT$hLL$`nLL$`LT$hFS AGXHk(DLT$hLL$`M H LL$`LT$hLSLkH|$0111A8LT$hLL$`LL$`LT$hHHtTHD$H|$011HE01HE(McGHLT$hILL$`>LL$`LT$hHHE tHD$Hh0H|$0MtLQHD$xHtHQHD$8HtHQ HSHHl$fH8H{D;#rD9crC …OMHD$Hh0HHD$LMHEHCHEfnC1fn$fbfEA9GHkI HU H H@HcWHM HL M5MLI9_H{t C!D$EHD$ Ht$H|$XILL$(LL$(HHHD$ =HD$M D$wE1҈D$(DM IIcEyfHD$Hx($tI$$Ht$HV HIHA9GHHD$H@(HD$ H|$HxHD$HH?HJ ff.ff.ff.ff.ff.DHD$0HJ"HI HAGT9|HL$1&ff.fHAGTH9|H$H$LL$HHD$XD$WLL$HHHD$P~FH$LL$8D$pL$HD$HHƅD$wE1Ht$`D$( HD$PtH$N M D$(D$IGHX8t2$uDd$@E D\$hEA_zDLL$ ELD$LD$LL$ S$_u,C tDLL$ LD$LD$LL$ u+LD$LL$ u t>A_$_LL$ LD$MLD$LL$ C@M$A_uPA_LL$ LD$LD$LL$ D9bCE DLL$ LD$LD$LL$ $Au_uCtfDLL$ LD${LD$LL$ $Au7_B't#M$A_u_u HKI 1UALL$ LD$LD$LL$ D9uyff.ff.IIHH9HKHIGI9HcCHt$IIIHLHcCHHLff.H8HKHHcCHt$HL9}܋C%|$A uT$ht& A Mff.fHHc29}IqL19~IIH<$H H HLD$HD$pI;HD$PeHHcHcA9H$HwHH9uH$HH9}L\$0H|$8HD$8Ht$0ID$pHt$8HD$0 A O|$ Cu)\ ,L$  A_DLL$LD$LD$LL$$_u.C ¨ t}DLL$LD$zLD$LL$u'bLD$LL$u tsA[[۬$`HD$ HD$(ۼ$`$h$hiAYAZH|$@$h$hD\$(DT$P_AXA ]WAa@EAD$Hi98H!ELpD$8JHD$aHD$ HD$(D$?HD$ HBHDHD$(D$ tr۬$`H-HHKD$ T$X9AD$ uEtWAE taD$ ET$پ L۬$`H-PHEHK댉پ LlHct$ H|$(LAE uLHqAaEWAD$Hi98H!ELpD$8JHD$A DT$@|$>EHD$pH$HIIHD$> fD$HH$CH$,$zuEL1ISZ/DJADT$@H\$(D$ -HC HDË\$ HD$(Aw,D) ɃsHD$(8-t$DLD$PHLAHHcSff.ff.ff.fHHHHHHH)0HHuL9tYL$HFAAHD$AA+DVEF@L |$>H5T$> fT$<F0Ht$OAEфuX@uSD$t@.LxHD$LźIcH)HcH)H)H9tM)EtvIWH9|mEd,Ft=i@.Hzt5l$<$l$>Lx$Hc$DA DL9ULIkd Ft=EDfD$ "T$9|kAE E)E$ D$9$1D0LAE uH|$LH D$  <$ پ LHD$L$AE L$HD$tH|$(LHLD$ D$LD$9ËD$$ $5 u%u!T$پ0LLD$?$LD$AE uLLLLE)^ EAE rD$9ËD$$ $5 utE)ED$8AAHD$D$8AAHD$ff.ff.ff.ff.7HHHHH HIH Hiʚ;H)ƉwH9sυtUHfHH9sstA)ɸE~H{A9AN1뻄t DL$@1}EDE1ff.DHD!׉pAH9rMuHt;HAfLHHL$HEH)HHL9HOظEy0AyA AAʚ;H1AAA누tDL$@H9LUH)H< 9s1AfDE)ЋL$81Ag!)HL)HcHHTH9@HcЉHi98H!)Hcʍ)I D1ff.@ Ƀ uD1DAхu=LFHL9H9sʚ;u Fa?9uʚ;u H9sFu<-A9rRD9t:T$ t HD$(8-t=DD)z9u7HVH9HGHFH9u-ȉ ff.ff.>ɚ;vHFH9sEHLUH)H< 9sHVWff.HH9sCtAgtCEIDt$AAAAE)AfOD9`EAD$EOA9~\|WWl$A)EED\$AAA Afl$EfH9s DCEuv HHcMcL)HHDHкH)HHL9IOAH?D\$A AfAAE1B H9s(DCEt1  D1tHcD\$A Af]HغMcL)MHHDH)HHL9LNMudE1AEuD\$AAA AD\$AD)A LcoEIvAAE)D9`AfAAfA7D\$Et$AE)A AftMc҉LD$PILHHcMff.ff.ff.ff.HHIHHHH)0HHu!ff.ff.F0HLH)H~HFL$I)HD$0+N@~M9NEƋL$ )A97D$ B 0D$L$9D$fD$ u-9| AE uw'¾ LD$KAE D$uWAE uHct$ H|$(LD$aD$D$5 u$|$uL$T$0LD$D$AftHEH9IIHCI9IHMFMf.HHHHHHH)ƃ0@7HHuHLD$PM9t\@t"I9s"G0HG@0H0I9rL1H)L9HBHAE t&IM9r5HL$YA6HH9uG0H|$XH)LL$H/L$MOIBM)IWIH9¸LBȋD$O4D AE tHLH=ff.ff.ff.fHHHHHHH)0HHuHLD$P@t(I9s(F0HFff.@0H0I9rAE tIA I9s>E~9AHt$Y띸 A9AN1HcLH)L9HBLH<0HAT$  0LH9t-AEHLD$P I9@t1I9s1G0HW"G0H|$Xff.B0H0I9rL1H)L9HBL:L)A)II9EHL$YA7Hff.HNHHIHHHH)ƃ0@7HLGtL)LHL$ L$T$AEL$HL$  D TuLH=HL$ L$AEHL$ L$ IcLLH $H9HObH $AT$;AE tHD$ u|$tJ\$D$9MH([]A\A]A^A_ù0LH|$0Ht$PLH)롋L$T$ Lf.f.f.f.f.AWIE1LAVIAUATE1USHHT$HL$0LD$(D$HdAEIt<%uLf.IH;%u{%tDM)D)D$HI9@EMtA t6EtVI޸D)D9AAE5 MzLIcLL$L$LACPЉǃ w{$tD$H1(-CT$HD$HfDH ǍHr@*qHCHǃ0 {$t-D$H HMDl$ E$HCMtHL$0HD$HHD9gHL$(D$HEDŽ@ {HDL$HEj HEMH|$/w0ƒHWD$HD ;E AH|$HWHBHG)Aff.fACHǃ0 wHA wAk9~C0 wCH0 vK EAt@.kC<*HCHƒ0 w{$tCt$HY MH|$/wkƒHW$D$ HMt&HD$0HH$D$ HHD$(D,$D$ DŽ@ H|$HWHBHGD,$D$ D,$HF)Љ$7ff.ff.ff.ff.@$CH0 w:<$ wk9~CHS0 w,CH0 vD$  Dl$ $1HD$ $萉A9 HcHHk:L4VvӅ t||$HcMtyH|$0Hfo)D$`A  Sօt׃߃@@D։ Er7H=Hc4H|$6 MuHD$(4I`Mt&HT$H|$`HL$8D$nD$HL$8_E1LD$`փ LD$`H$H|$@IH=jLHD$`Lc4$H$HD$TL<$E1HD$ M9A7H|$ IL\$DL$]rLHDL$L\$L)LסH9cI륃HyHcHHD$`D HD$`fD HD$`D HT$`IcH<$ x9Cǃ$ff.ff.HIHD<A E>HuH=MDl$H|$8Mn@dD$HHH|$8HH$HD$`H|$@Iff.IH0AHuHDl$HD$8@Ht$@Hc$L)HNH9Mщ$LD$`MxCHD$HD$8uIHDl$HD$8@t5HD$HD$8"LH=HD$HH|$8HD$`IH$LHHD$@I@H Dl$LD$`HD$8HIHHHHH)0AHHuڋ $y D$ SD|$ $%EEH|$`uH|$@Hc$L$L)HH|$ H9HLHcH9Olj$Ǹ)9$|$D8E9EEMD9|$ E9sA HD$ <$9lE9A"L\$ DL$-8`DL$L\$ ID$Ex}Hc4$LL\$ DL$,L\$ DL$LoIIL)D$HD$ HIcH9iHrDl$HD$8Lt$`HaMLDzLL\$D $c,D $L\$LII8{LD$`MuBHD$ADl$L$HD$8$HD$ ~Ll$XDD$XID$\Ll$`L,$6I)E9Dl$8DD$ D$ uE1Lt$TM9H$0HLL\$DL$H$XDL$L\$LHcIM9r^A uLLDL$L\$iDL$L\$LDL߾ DL$L\$DL$L\$LM u|$ tD$8A9AMAL$8DL߾ DL$L$DL$L$L1뾋<$y D$ t$hAЉDt$hLߋT$L\$YL^L$AHD$ $AHDl$HD$8H$L)HD$ HHc$H9~!HDD$Lt$@D,$HD$ lD$0DLD DL$LDD$@L\$L\$DD$@LDDL$LA UA u7Hct$H|$8LDD$LDL$@L\$L\$DL$@LDD$LE9A5 u3Eu.DLD0DD$L\$DD$L\$LHD$ <$9})$L߾0DD$L$DD$L$LwA tB ELDD L$L$L4Ht$ LLDD$L$L$DD$LMT$HrH|$0AHHD$(B4t7HT$IHI uA;ff.II tHD$(BtAHĘD[]A\A]A^A_f.f.f.DAWIAVAUATE1UHSHxHT$ HL$8LD$(D$D$D$zff.CHt%uI#ff.ff.DHIA>%uA~%tL)D)HHH9\$LcHuDtQM|$D)9D$AAM LgA?HIYMtIE tAVBЃ wA~$tIE1(3AV D$I ff.IA AJ_r*QIcVJЃ wbA~$t(t$RIHubD$AAcHt$(D$I DŽ@ IcVHt$8HD>L$IAHHt$ /w1уHND$DAEA AH|$ HOHQHW)Aff.ff.AAVIJЃ wHA wAk9~A~WЃ wAVI0 vK+AAt..AV*IcVJЃ wA~ $tCD|$EHt}Ht$ /w^уHN9|$AIHt$(IDŽ@ IcVHt$8HHT$AH|$ HOHQHW뚉\$A랉\$I)ʉT$ DD$AVI0 w;|$ wk9~A~INWЃ w*A~IWЃ vA D$AE1ID$AfAA>W9EH5ĖHcIIk:H4VvʅttuH|$(H4Ht$8Hfo)D$PHU uNAFEtƉ߃DCP H HcHtAHxD[]A\A]A^A_HtHT$ H|$P yE1L|$PMot$LIAHD$LHD$0hAw:HJcHHD$PD HD$PfD HD$PD HT$PIcHM#E۸AOÉD$DA DtL|$PDD$uFUDD$H H1H5{DD$E1UDD$H H1H5LDD$E1bDD$Dl$H\$PEx+Hct$HD\$DD$Q%D\$DD$H6HD\$DD$&%DD$DHED\$ HA9ӉIAMɉD$D)T$AA u EuE tMcHLcSLHLHIHH!1HuHxff.DHLH)H9t9H9L1LHL!LtHff.ff.HHHt 9u[1fDHHHt9u1AWf1AVIAUATIUHSHH8)D$)D$ ff.H9t#A HHHHD0H tA1IL9tHHHH9s4I4A<B4.@8t@8sIM)IAHA1HL9tHHHH9s-I4E D8 >tsII)HAHHGIUH9s HIMK4tsII)HAHH4$HGLfI9s H<$ILT$Lt$HLJ43LL)H|$t$H<$IGHD$H)H9HBHHD$LIE1H?HD$iHT$1HHtHL)L9qHLHD$HBff.ff.ff.ff.DME1HL)L9rCD>HT HsLH+t@HtI9ICE1IM9LICff.HtA:tH $E1H)ILff.ff.fDI9HA<@8<tHD$Ll$IHH1HH[]A\A]A^A_ÿ*ALD$4E1ɿLEE1AllE1AlHHLEO;%HCuHLD$,A6E1E1nff.ff.ff.HTVAD9 3~Ѓ v݉D)D9D)ACE1HCAHHDBAH9t rЃ vEED)ALAD$A|.HHD$Ht$HHIuDL|$HD$EuH]D$4AEtkT$0dEڃDՃdEf.f.f.@AWHAVAAUAATUHSHH,ff.ff.HDD4DuADE1D$ IEtwHDH#ff.ff.ff.ff.fAHDAAAD1AuAHPуHxu$u)sHH[]A\A]A^A_þgrH[hHtKHsPH+DD$ MHHD#HtfxuEuPуtHxt1f.f.f.f.f.@AWAVAUATUSHH(L5X I9tbHHtZHu)H#HIDE1Lp?ff.fMvMt L9uAHH=1X1+E1HA$ff.DHDD<uDAD1ID$Ld$EtIE1ELDH!ff.ff.ff.ff.ff.@EHADAAAD1AuA}HHxu8@u<κ@s,H@IH([]A\A]A^A_ÿgrEtZLuHMtyIvPHLL$DD$HLDF!HtH΃fxg@tHxtMvhA~fHnH|$fl)D$' \HH=1pf.f.AWAVAUATUSHHH|$t$8HDŽ$HHt$|`2H=1 b5UHDŽ$H=Z1bQ H$HtHH=70H$HtH$4H$|$|11H$H[]A\A]A^A_HH H$H=HD$(HhHL$ L$8HD$0HKHD$XH bHD$`HbHD$PH^HD$5D$IH€uƂIIH4IH4:IIDd$ff.ff.II9tI?HtzsM'Mt2Ht$ 7IIFHT$ HD$(HT$ H=ɚ;HD$(D$D$ M1H-ʚ;HHD$(HT$ ff.ff.II9t#I?HtBzst1H8[]A\A]A^A_ÅubI|$pssAT$pD$s1HL$ Mt$HDȺAƒn}8D$ udH%@0D$ L$ 1 MDD$ff.fDII9tI?HtbystH=KH|$A T$VT$f.fAVIAULoATU1SDgA9tV1DLu_1ff.@HA9~I|HtxstID ΅u []A\A]A^f.AWAVAUIATUSHHHT$Ld$(Hl$0Lff.ff.H HHH9uHLͨAU_tL:wH1HAu@@:H1H.D$Iu1L=Qn6@~BxD@Ń`AO?HA:? D$tƒ~-.΃.ɋt$dIU1E15@~AxD@Ń`AO?HA:4?1A ƃtƃ~-.σ.HD$$HD$HD$ H$ HL蒧;|$(t$,UE1HL$HT$A&L$,T$(AAHA։AH EHEL HL HH HH@H HHH @HHH LHt$0Yff.f)HH0PH9uH\$ LHH[ |-.%DDQ҃@~qˍyŃ`OAH\$A?D$L=+lA ˆAEEHCHD$$HD$HD$ H$E1ɹ@@yHˍpŃ`Obff.fD ADEuH11UDD$$HL$HT$aT$4DD$0C DDDDAAAƒ?AA A??A?AGA,/HA?GG ?H A+hH$`HkAكH$hHy!~[H$pLHIL9uH$xLHMHHD$0HT$(HT$Ht$ H+LLHHD$pHHHD$蝠L$0Hɼg jH$8H;ʄgH$@H+rn+hH$`HkAكH$hHy!~[H$pLHIM9uHT$(H|$0HDt$DHT$Ht$ H.Ht$@H߃@@wHt$Hl$LLHt@tHt$@HўHt$HE1Tfo-RZfo5ZZHy!~[fo=XZH$p)$0fo-PZ)$@)$P)$`LLHAYD$A9uL$HE1LϞfo5Yfo=YHy!~[fo-YH$p)$0fo5Y)$@)$P)$`HT$Ht$ HAНD$pA9rH$HHHD$@@f@LHA@蕝A@wDLH聝EQEHt$@H]Ht$H߃9l$HLHy!~[AAfo XH$pIi%I$foXfoXfo%X)$0)$@H )$PA))$`AAABD)AA)ŸLI!CvAA)ƉD$(u5Ht$H|$0@HDŽ$0@EgEuDl$[D|$Dl$@LHA@FA@wDLH2D$(벺@LHA@A@wDLHH\$8L$LHT$P1LD$ H5ŒH褼LWvH=wLcMH?IIrHIHFM9tIAAHTpL p AHL p H9tH? H$ABVHH?ABUHD$8ARTHT$Ht$@HHT$Ht$@H@SLGI1DOHH\$L\$H-ff.ff.fH DɈ)L9uHIzII9t I1DOHH5`LH[f.f.ATIUSHff.HtA8$uHLuHc1[]A\f.HXI1HLL$ &LHHL1DI HHuIH@ff.ff.HHHtH%wHpHt H$HH$ HtHHD$PHHtH8H HHBH9H$H|HHEff.ff.HPt /uHL>H$H$H9D$xtRfH1HD$)$D$D$x;HLD$AH=,-H$H9$uH$u(fHL9tB tLHyHXDh AWHxAVAUATUSHHXD,HxD4ff.HCH;HPHS0Fv܃ t׍FAu)1-A)HCH;tHPHS0 izHCH;YHPHS0 n< HCH;@HPHS0 f HCH;'HPHS i3 HCH; HPHS nHCH;HPHS iHCH;HPHS tHCH;HPHS y6fA*Yw$$HX[]A\A]A^A_HLƍ@`7H1H"HHHH Hݰ(HаCHLhHHHH]H}HE]HEMHeH[A\A]A^A_]AH?|Eo I_HIHL=H9uHHIwIHU\HHtH}tAG tIHuIIcG L9[M`MoHI+GHII)LHL9(HI] ff.Hƒ v t H5r{HAPu H{ HuȺ H]AHt\<;utTff.ff.CHƒ v tHߺH5zHѰHz~f.f.fAWIAVIAUIATUSLHH|$@HdH<%HDŽ$H|$(MnI?dIEHYHD$HHHҁHHL$8H HTHL1iDbHL$HHT$0HL$ H =HSHD$HOAvbH$H|$\HGHHHtDD$\~{HD$(H\$ HHAUE@<9 H=jHcHHvDA(=AE@< HjHcHHZDLDƒAA ЉƒA A iHDLD> AA A$XA(nÁ2HD>T -= AA AE@< HiHcHH|$WuOH:fAtDAtYHHH)H|$OI7AIEAuHHAHHAH|$DgEuBHt:AHHH)кH|$WZI7IEZHHAAaA_>wAHAVvA oA?J^wUrGΉXa]wMFAHV_At^AAS]DHk^HHDBEE@<HgHcH>DHVNz܁y$ʃJv&HH|$G(BtI,H|$G H|$GHVHIIEDFHAAGH|$WwNwytA\ A~`A> H|$GH|$Gt(A@vtA@߃]A@HFA!!ASw;]w6DHk^HH&DBEFAAwTsAAA}wHMVwAtÍJwJtEAD?FHiHHtDBE@<uHeHcHJЃ bAXHC BFi~.V0 1LoDLH|L9t0Hff.)A9HHH9uAxAA9EH5 1A)AHrL$HD$xHH=rLT$`LT$@HD$pHD$hrHT$pHL$`HHt$hLD$xHHD$8HH HHT$`LT$@L)H9I>LHHT$@H\$HT$@IEIH)IHIEHrI7 DBAxH;FHP!bA_>GЃXAyw{AA H5.GiЉ‰FVAAAA A$=yEHiHH VDAD' :HE@A<H|cHcH@L I IAIHHA IEfA@@:HHfDD2Il:IEL2IH1 I7DCAH~VA__\w+]w&Hk^HHDBE9AA\ADv RBv Bw(BAw3EiAAL:-j}^BEkTF ff.)A9HHH9uHƼL9t HDAxAA9EH5x1A)EH|$0D薸AAHHv+IHI7HIEDHHIH)H;wHHT$@2HT$@HL$HI>DHL$@HL$@HcI7IEIH)HH)hLNLILMSH|$DHL$@rHL$@D9EHLAvMH|$*HL$@A*HD$(HL$@*ADAAwH|$DHL$@HL$@D9Aѽ눽끹LMAI$3L'pL!E1ۺL ƯH-zD9tA9 BAAHk^HtULAu1HD$A\LAv)AtA> t!A>VApHD$A~Z!!IAI6AAx=_҃AT:P~tпHH&THFVI7IIIELHH))AB4HpHk^HH=ny4wAvYAA>wXHHI6HHǀFIE@>H~I7I>H)H|LE'pL!1H-ܭLxAAD9t,t1A9s9:DEHk^HA4SD!!HLD)D׉48HspDHk^LLZxA4r{L'pL!E1ۺL /H-(xD9A9 BAAHk^HtUL LAAA> uA>eI$IAtPA> tTA@I5vhPHPID@f0fpI@BI7IELHH)JA\뵺JA~Ё!!IIf$I(fPHPf0@BfxI@B)AB4HիpHk^HH=v4wAvL AL L A@ՁIEIID׃A ALHd2DރDLB|Dׁd2IAB|I_L AAL I?IHD$:HIA@DD2IHI7IEHH)LIIHDǃI@<0DAуH@@|0Dƒ@t0DʃDDIl뒹HD$(H\$ HHD$1HĘ[]A\A]A^A_ùALM,IIHPDII7IELHH)I7IEHtI7AT$@D(tH vYHcHf.f.fRUHSHH fH qȃv t0 v"NL%?MtAH-SIHUHL`HbHt>HH HH9?L%H'MtH E111AAI"LH H~HID$HjH-{HT%IHL%6HOH@HHhHH-%HEH@eH HXd LHHH݁HHH-0H HH9E1A21H= H-H3z8&`lH-m=HCH5IH%9f.fDAWL=AVLcHAUIN ATMUSH(IHBBHrI4N V9LFAHAɃAuLVL9OTPL֋FtHFALNHAEPA؋VщD!A 9uD!ЉF V f?JHcApApH9t7HHpHHI;tfKtPHHBII҃ -HvKtPVAB HwAqf?D BAAуff.ff.fA A1=~AB AP9Oƃ A@V f?JH!)ȉBH!i)kH([]A\A]A^A_DHcff.ff.uHH9r fHcIH=wHcӃt[MLIAH={DMcAD$wtHAPEpu31Ac@ATIEH=w MADA)A AsAcAACApA1BA AAD$HIL9s EHcAIHH)%LTu=Et8HIUH)%HDH9rH=?vHcH9sI»LE11A"LT$wLT$HHHE I1DC%I ¸ILU 9AM1҉HcӅIKHuA?DA UUD )ЃEH.HMQ ЈAE f% ËEf] H}EtH}tI KHHEHHEHhHEH(1HHP fH@H9uL9?CDtoIvtA$L9EDIKT-HH)%LTI@wI AfHE EEHHfo$]H-ʅLIq HIv`HOω   x!H=Vi)k:OՁusl$H]HMtHcD$H À9-t{HDeL]A|$9UA1AA)HcL 0nJHA9H H 9-uytۉD$AdAEtZtV<-u yj:LYD$L\$(wՁ@<-@<2HqIEE1@|$'LHt$<-HIAEH<=@:tO|$uAu`|$D$D$ HcD$ HÀx-H\|$':tH\zD$ AA?D\$ Ll$DL$H7ff.DH9D$~D HpD8LtH9D$?1D\$ Ll$D$D$ tH[IL(AT$H \|$':QH[@I<$xI$H;H5uHL[HH=x[HHHtD$ AAT$H[|$':HE[8I<$SxI$H;H5H}L6[D$NHxxL[H5v:HIcHH|$tH5r:H;)LZAD$ 8A:ff.HTHH9|I6D9}I3HAE AHHD[]A\A]A^A_APH|$(MLD$8HT$0I)D\$HL$LL$$LL$HL$L3ZHD\$I9HT$0LD$8A:|$ D$ McIMAA}=AT$:D$Ll$D\$ AH H7HLl$ufHHff.ff.fHN tPH\uz\t,HBLZE1HL9tDEPAwHGLHEtDHHf.f.AWAVMAUE1ATUSHHHt$T$uIHt Lh|/LEHD$`fHHD$H)D$`@#Q V1AfoD$`Lt$@D$HM4AFAUT$\D$XD$  HD$LL!H#LmjHt 5f0L(у v+ t&HxHHcHtPу v΀ uMff.ALIt wIcHt$HH)ЋT$HwӍF)HqT Hcƀ| t#ff.ATHHt.u뷍F1H@l FHt$H\ 芧HT$H$LHHHT$ffD$ Hx:H} WH H|$ 1HE(QI.1L1xRH|$ 1+@SHH>:AWHt1Hx:H{'WHtHP@<:tW< tS1'6ff.@H HHH H0 vHK::uBHJ<:tH< tD1HڐHHHHP0 vHS9:uAHQ<:tL< tH1HڐH HHH H0 vHK ::ABHJ<:th< td14Hff.ff.HHHHP0 vHS(9:AHQ<:th< td14Hff.ff.H HHH H0 vHK0::BHJ<:th< td14Hff.ff.HHHHP0 vHS89:!AHq<:tW< tS14Hff.ff.HHHHP0 v1HS@> [Hf.@AWAVL5kAUMATIUHSHH|$HD$CVfHHD$p)D$@D$HD$)D$P)D$`HD$ HD$( H\$0KD$XHHD$8HD$ HD$P'H$D$ 1AEL1H9[E1ҾfADžLHH|$H5D]Ht$@@DUHHٺLHHH1AUH&D$ȉD$D$ȉD$D$ȉD$ H$8aunH5H=\ HHu'SDjGH$ ƒouu$H$L$ "AEu/}tH$H1HĈH[]A\A]A^A_IHI,@H9t HɉJf.@ 0H5k0tnt*t 01I-L-QX\6ff.ff.IHHH H9>>f.f.f.UIHSHEHXLMLMHUкHMHMHELEELMff.ff./wyArK<uHcH]HHuHH)H]H]LT$ELIH]HMʹLIBEff.HAHH8uDzAHN LHI9t /v@HHHH HHI9uHcLITH]f.fDUIHHPHELMLMHUHMHMHELEELM!ff.ff.Hcփ/ArK<uHcL]HMHHH)ELL$L]LIHMHMHI4ѺLLȃ/wNAHOLH9u/wOIILPÐHAHH8uIc_IHHMLH9uHML]f.f.f.UIHSHEHXLMLMHUкHMHMHELEELMff.ff./wyArK<uHcH]HHuHH)H]H]LT$ELIH]HMʹLIBEff.HAHH8uDzAHN LHI9t /v@HHHH HHI9uHcLIkH]f.fDAWAVAUATUSHMLt$L0#E18!IċAʼnD$\H^#KL{PHIu~H\ ff.ff.HL9tHEH8HtXxdmdH %HL$LiT HL$IċD$t1mE1AD-dVff.fAE0MmI9uH$Ht@XHL9t?HH8HuHL9t+HH8HtuHL9t HH8Hu[u8DtDLD^KxHĘ[]A\A]A^A_1G뿋D$A$f.fAWAVIAUIATIUDSHHXAt:.t1Mt7;t2L|$HLHLtm?.HD$H1ME<$AEE@*A9ujHIvHLH\$HE1L4L9>?LLH<$H)LD$JH<$LD$AHXD[]A\A]A^A_H|$DLL $u $x D|$DLc-E1ADLD$ $ $LD$A9ljt5tG@A9@t9xHD$HMM)HI)jD\LD$ $DDHL$4L$HD$HIHGE1H|$HHD$H|$HLLL$0KL$L9LH$IdH%IIM9s9Mt=A}yHH8tAEI?wM9rMLL$MHD$HLE1H$L)A2A@x0~n@AD95A&H|$DLDD$HL$(LL$ LT$sDD$xt$DHL$(LcLL$ LT$EHD$H9MIDD$JLLDD$L $LT$HL $DD$M&LMHH|$DLD$YpD$x L$DHYILt$DILL)A<$LLD$pD$x΋D$DxtAWAVAUMATIUHSHHt$HwfDH8H{uHC@EECIcFIcTHH)IHCAFȉC1H} 1H}( EA FC U0xSS(C Hu(HuKHC0HMHINHH{H>HCHE HC(문HTHHHuHcH$H<K>H$HHC0t+ff.HM(HH HHtHHC0 H[]A\A]A^A_H;1HHDDEyINHt11HH|yH{Ht $=$HCu6I8DE~EA9tHcEIcTHH)I-HcHZ=HCHH7HEHuOH1MNMuEff.ff.DHsHHEHHOy1LcE1NhJH8MxHD$Lp8"1HcUH8yH8ExHD$BMNHsLcICxHJ H9tH9PuAWAVIAUIATIULSH_ MAHBH0~HpVHRHHt HMHBA $HzHx~Mu HttEnL1ff.fHcxHHH9uƉ:AD빹 H[]A\A]A^A_HBH0FtLvuAF 9}˃IVAF HH‹tLzLI73uIwL#f.f.fDAWIE1AVAUIATUHS1H8H|$DD$$HuH11ff.EHCExAHff.8H8yL1ff.0H8yDH|$1H1LL$LD\$ I)InHD$(HtD\$ LL$IL$E1HD$(HD$(H8[]A\A]A^A_ff.ff.D HCLcHfHUHH9uJ41DAHI9uB&INAH8I8EAEAFEAFD$$ EAFHE IF HE(IF(E0AF0HUHL ta1E1H@GD;H|$11Mc1LL$IDT$D\$ "HHD\$ DT$1LL$H1>McH|$(JL)H3ff.fIM  HH9uHCI8H8AEAECAECAECIE HC IE(HC(AE0C0IEHtE1ff.fIcHAyMcH|$11I1%HH1Rf.f.DAWAVAUATUHSHHW4Eփ<^F<#~$<:H 6HcHgH;<<{6<|;u2HHu[]A\A]A^A_H=1Hff.ff.ft H:UuHcHHDHu0UHMBJ*~6B<H=THcHHHHHk^Q!x~{(|uHQbuH;@HH;HH;HݷH; H轷}{tHUA11HUAHHA9~( 0 v׃ HwWAu:} /HjK,H;AC,/ BσK,DbH;DAC,S0D9ALHS0O,H?AC,tL1 贶K,H;Iľ AC,薶M;H2H;HL 1hH9uH9o uiH;H:uEt<\u9E<)t<|u-H;H H|$ HHSdLcEC4|$ tj|$ Ds,p|$ AdH;DD茵|$ D{,I=|$ A1H;DD`MtHuNC, 4|$ ut$ K,H;-C,LHtHkHC1H[]A\A]A^A_H;HLk˸f.fDL71HL9t%>1f.HHHufHAVAUH9ATHGAUSL6HMnI.fMI9rL[2IHH8t&IL`HIHIND-H(1[]A\A]A^ff.ff.DHHHH)HuHH0LHff.ff.HHLH!HHH8uoHL9s H7Ht1H1Tf.f.@AWMAVE1AUATUHSH(Ht$HT$HL$(ff.ff.LHHL)L4uMAMIIHXL!HHH;Ht.H,uH;tHL$HH([]A\A]A^A_ËD$tSHD$H+HCIHBHHBI7HVHHH)H9sH~LHuIHhH11AIHXL!HHH;H`H+PMIf.AVAUATUSHHfHnHIIfl)$HH3LAՅtPHcHH\HHˍEH{AHHL HHcHSIHHcfDHI|HHHGHuHAHHou/AFHHH(IcI\AFHHH)H9t"H{H(uHkHIE1HL[]A\A]A^f.f.@AVAUIATIUHSHB Ht;I|$(H)L9rAA$LyMMLH:Mt$(L[]A\A]A^HuUID$ [ID$HLHL]A\A]A^HHt| HCuHHLAT$HH9rMI|$(HI)1fDAWAVAUATIUSHHH Jc|D 1HĘH[]A\A]A^A_Lct$ LBtL訤uH|$LD$ 1LHcH5_Ld$0~ HD$8fHnH flL)D$ AąLL菥D$eH߉E|v1HtJc|@B|1Ҿ?Lct$ A fDAU)@ATLcUHSDHA9INHIC8UЃ vuHLUԅtH[]A\A]AHLf.o1D$HGf~H|$HD$*ff.ff.fv1/vDF@uHDAt@HuH|$tD$ƒ/wЃHD$T$HHD$HPHT$f.@AWIAVAUATIUSHHhy(Ht D$+IWID$E11A$tЃ < <%uAD$<%1L A$IGI%!H9pHpIw9oIxIo D$ Hh[]A\A]A^A_LIt:ff.ff.@AD$MMd$ƒ v t1L IWff.f.I9tDHJIOHʍHv tIxHIWI+WXIIMfL IWMt$"L ,ff.fIGI;tHPIWPv tAT$MLg A$IGI+GXMIIe<*t6VЃ wA|$$t:/wP׃H{H?IT$H<$E1YAt$H$IT$HAt$IT$H$H{HWHSDCDdFrLʉNLJ vD$IWH|PtI9tHJIOHHD$ E1HD$,H9T$(|$|$H$H|$ tH|$H8IGI+GXIIhH|$ H8)1HLWHIGI+GXI-|$ pH<$H HIGI+GXIIŃjH$IGI+GXIIH$fIGI+GXIIH$IGI+GXIIH$HIGI+GXII뎋t$1LLIGI+GXIiH<$tm|$t0tBt IHH$IGI+GXII+H$IGI+GXIH$8IGI+GXIII_IWI+WXIIH<$BDWHD$L@ 1HL VHIGI+GXIdH<$dL$H5Hc H=51H1LUHIGI+GXIf.o1D$HGf~H|$HD$*ff.ff.fv1/vDF@uHDAt@HuH|$tD$ƒ/wЃHD$T$HHD$HPHT$f.@AWAVAUATUHSHHHT$D$y`HE1D$}*u?E%HSH;S,:#HJHKD: D$땋}IHuHBʼnt IHCH;Ct݀8xHPHS(H{t wHk Hމ.LDuLmA%tbA*AvЃ w }$HD$/σHxHHD$@E16HAt$IHCH;Ct܀8xHPHSD8DӋELHPANjEA9tXH{t AwHk"HD\EyL$ED$D$ D$HĈ[]A\A]A^A_IH.DuLmHD$@Av$H|$Lm Du HD$@AvHD$HxHOHHff.ff.fCE|FEuIAvIm vD$AmtvAj\ARANH!A_AjAhL$ED$D$H|$8H|$HD$1EuIH|$@HmHD$8D$YALu*EuD/D$LAnbAC1cAALD$LLD$LLAnH|$@tHD$@D L4DL/ZD$LoAFD$LL_ANHੜuAuA}lEuD/D$LAnt6A[D EuD/D$LAnuH|$@gHD$@L ZEuAht3D/t}D$LAnuH|$@+HD$@fD EuImD/tBD$LAnOH|$@HD$@D EuImD/GA D$LDAnIHAH,AJLAHIݻH9"H\$0ELLl$8AWjLD$(HL$ HT$DT$ALAHHAjEJL>HILIHH?M)H HcHD@LH\$0HHT$8LAWH)jLD$(HL$ HT$QLHH\H?HH\$@AH LLHD$HIAWjLD$8HL$0HT$( H ;ALHSH҉օuIՃ@փ@tQA?v1LJL)E1HAHuHH[]A\A]A^A_ù@)LHHIH L)AHuMwf.*ff.ff.HHHHt8t)1f.f.AUATIUSHHeHHH9R2IHHBH8HL)H)H9Ht,HtgHHH4(HL[H]A\A]A}HHHffH9tf9tH f9HAA}AUHH AU  H HH$ff.ff.fH H9t 9uHAC9t6A}HHHH9t9tH HAHE9t1HH[]A\A]f.f.HD@Hff.H9tHH 9u1HDHHH1uz@tttHHIIHHHHHJ HH!Lt&ff.ff.HHuf.@1ff.ff. 8u Hu1)fUHSHH(6@t{uHH)H([]1H ; t;HHHH HtH HsH)Hf.f.DHff.Ht8uJIHff.HHJ HH!Ht H8uH)f.fATIUHSHnLH(DHHH9t uL[]A\f.f.f.f1)D$)D$~AtEff.ff.tYLHHH TH:tH)Hff.@Ht݉HLHrHf.f.fDSH6H@u[HtKtPs@t3x@{tYx{HH[3HffHH ʀ8f9uHkH 3  p "ff.f.pH 8tM9uH3H ff.HH ʀ8t 9uH1f.f.fD1ff.ff. 9uHu19ѺOf.f.f.ATIUHSHxIHHHHtUuL[]A\f.f.@SH(ff.ff.@HHHHtu1xH[f.f.AWIAVAUATUSHH86t@?t8HwHHt(Awt"HE1tCtkBtI1H8H[]A\A]A^A_L9tHHH L9sCHtA $_.AHLHHLHff.@H@pHtyǀHeHt xsHWHt xiH1Ht x_Ht$pA1HHD$pH IbZǀǀǀ ffnfn D%fbfb)D$0BHLH)IH $I)1LrH $HlHH$E1H+=RHD$8E1A"LH4IL0MILO$*M1L1H$IHtkJ(HHHD$ eu"HLH)LIL+5LH8&uHLH)H$HH<$L>U  Ht$ E1E8ALHLAEt"1ɺ1LD$LD$Ex2ALHuLоA--H|$裐yExHD$H(1H[]A\A]A^A_H$Ht LH(DӺL1"H$HHFLH)H$HD$ Hjf.DATdH%UHSHHteL%HH LHD2,=\H ff.ff.H<t)9uL+ &H5H닉LH,T+1[]A\f.fAUAATL%USdH%HHHLy+J Hff.ff.HH H@H9uLHJ*H輎HĈ1[]A\A]f.f.AWAVAUATUSHt$ H$PH$pH$x`HiL%HLLTMtI@11?IH*IHuL#ff.fH@ǁtpH8u@Eف@D$uzHcLHIHIDHD$Dt$ Ht$,ADt$+Ac1HKD$!LK9H$肘x2E1E 1IHt D0L&D#LxHt$` YH H$DE1E 1KIHDKHHQHD8XEy LA|$|$1۾ H1AŅ8D$ @tQ$pH$$xD$HHD$PH$`HD$X\$H|$`+Ll$0H$L138L$8@1H2HT$ 1H4ADžg8 |$,1(LwHH\$LHD E1HĘL[]A\A]A^A_DJH0WH&WL1H H$HHH9pt>uHD$HLpH$L@H|$,1'm LHc HWHt$H[HD0HLpf.fUH-SHHHfH Hff.ff.@HHH9XtH9uHʃju-HBHH HXH1[]Hf.@HBH{HH9}H]8IUHW)QΠEHSHHH H?H)HHiQH)A;H%I$I$IHNHHH?HH)HH)H)AIAHbȼk9HHH?HH)HHi:H)Hi k9H+9OiTqHcؙHismH')ӃiKDHcЉHiұH )i1uƫV@Ņ@ @=1t(;HcNkdB4HLyHHHcH1JDQH:JA`wC-G1@)HA Hz9~у ~JHdHH DAdfnЍAfnHIfnH%kHH At>tHwAH>H|HE@ff.H< ҃awHwA<HAHAHHMAf.f.fAWH=AVAUATUSHH躽HD$HF8Hu HڬH\$H5HtHH=f)o)Ht H5TH?HH=vHaH\$H=H9H=Ht HUHz;:HSHT$CHӃ.<D=HH5H*HH3H=H+v#HߺH5oH=1HH H*H\$HH9r"H}HH0H,H(Hv HHl$ Ht$H\$HcHD$H9t=<9wH(HrrH5Ht_H5HtL<:H5gHHHH=HHD$HL H\$LHH-HLULHHcHOLIHy=L]HD$HDa, HH[]A\A]A^A_þ.HVH?Ll$8HUHLL=dL5D,8A?LLLH)HHHM|/HL'HHt{1H{(HsHD$E1D$LL$fT$ ff.ff.@HHIL9uJTXHrBDB BA B ƉJHHHrH r r I4 JHH5wD DBRD  H|; HLu:HD;DHHx uHHT$HS,H5+HLfE1H=FI) H:t8HH9sJxtHzuHAHHJD AAHHH IxtEtD%H:tpHHBI[HBHuHbHH9w>H(HrADbHOHD$AD4HH5HHD$HD$8,HH5HHD$AWAVAUATMUSHH=H(H$HL$LL$1iHzHTL-bH,L5O1L>I9LL)HHD$Ht H|$E1E1.H5LڸCT=H ʉH (HHvPHHNMICD=HcЃtƅtCD@HE AMcHL)H9|H)MHHD$HI9zH5pMAEHct H1L)'AUH ʉH HALHHDHutE AMcL)H9|OAH\$IJH9CL@HT$Dύ IHL AHcA8 tl@HD$aHAHHL$HECTCэR|ЍRHcTHcAA8;fHD$HT$HRHHHIHA H$ HL$HcHAHHD$H0MNHD$H@ACHI$4HHu"HHH?L4II)IFI1LU%H9MI1L?%H9|DH=Y#DH=}IG#uHL2HcHI9}II9NH9~IH$H\$HHMtH>HHI$HսH@FH9I9~H$H\$HHHHMt7HI$HHHL$HH(H=[]A\A]A^A_f.f.AWIAVAUATIUHS1H8HL$LD$AoAHIH9OAt׃%uEoAEӃ2H HshAGIOD$HA|$+HDȺ Ht$(HHL$8L|$(IAB@Hs2MuFHL$E1I9A5Dl$IOE1Dl$IOE1눃Et OAWE1ILD$HL$Ht$ EH|$0@,HH7L$dL HD$ HHtCLMHH)H9rHD$ HI<9H\$ E1{H1H8H[]A\A]A^A_HHAHՃt0uFuEtH|$ HHD$|$+INI<@tJ=} -HIJ 3HH)H9HT$HL$HD$HtH8tHH+pHE1f.HLH)HtHNHuHHHH$H$HL!ff.ff.HLH)Ht HNHuL^HILH$H$HL0%HHt tHIHLH)HtHLuHHL@HLHe'Hf.f.UISLJHLZ@HZ`1EAABA LA HtCI@XHtfH9uISXDHtfHtH=_pf.UHSHHXHtFW1HH9s'H[HHpHtHxTHXWH[]iHHt HHuH[]H[]f.f.AWIE1AVAUATUHSHHxHH $HD$HHG@D$@HD$HG`HD$HyH9tH$D$DL, 1H95AD$@H%H LL) HSAt$w!H Hcu~AAw1`|$@t[H5EHcD$DHH5H95t/LD$DH H|$HcHRL4HD$E>I2LLHSLE1H|$HvL4H|$E>IAtEAFLLD$u]MNHLAA$L5DIc{H52I/)HIPtt,uHH LXH HH(H HH0H LPH=tLzLcMtLgLAHD$LhLL-HHD$H+HtqHH HHHHqHHHHHH!HHHdH HH!HHLL%~L%L%H=,H0SHɴHaI>DuL$(H5nLHD$LpLLt$(]H nITHHD$HD$LpLHMA>-A~-IA~MfMitcH5RnLL $%L $un_MqMf.HH:fu+SHt$LHT$ MqH)HH)IMt\Mj H5mLL $藢L $AF<=tjt}IAH\$LLt$ H)HI)Mu=LjH>mHL$(HmH5OLD1`>INMqMH NIAHtMqH5IsH5 mLL $̡L $u;AF <=t"5IiH0MqI(In MqMH5lLL $qL $AF<=tIAHD$HuIFMqMHD$a8蔁L $HT$(H5QlII I HT$(1H5N^H8H9t8uHpHH5H ۰1L $HѰH5k^L $LL$H=L5twHHȶ1}AF<wTH1H $PH $D1HEtA:wMsDuHEuHD1EtA t~A:tHLMvMusH@HtHxhuH9tHBhH݄tHHH!tHHHsHV8HF H=V6HHHN8HPHHoV6HHHtt׃uHPHH+PHH~gɫH"HvjH\H5NHHZH=SHHxHiH r*JL8HTJ8H:uJD8H H:IJ8HtHuL H HHH9HHfHnHAH|HHH!fHnflԍHPwWHwQH=H/ZLRH=HHPdL$%xL9tHvTHHt]HH=THųLH=AH9tHxHwxGʴu@Ĵt@1HD$H H5-KH1>[g붿ZHH5hHYH2H9t óH5qhH/HH9t HHsHtHݬHlBPsHD$HtH\$H|L|$HD$xILH|$LHT$ H)HH)IQ1L1L $ĀL $AL%L $L1L $HIDL $HD$(L $H e5+HIHVIEHHD$x!Hc5cHTHH)HMf.fDAVL5WAUIATUHLSH[LH1H9HSHHC@Ht(JIE1AgHRAH4LCPAPEML1LK<"ff.f.1H9HBHH9u1HtAHI)K ff.HDtiff.ff.HH9tAHPHtHσAsAsHH9rI9sII)H9t;IIHSMu4IUHE1IE1MMIE[]A\A]A^HSIIID$HL9rHC`IUHIUA$Hf.DAWAVAUIATUSHL7LoAMgLD$ IFHD$IFHD$IHD$ I}fInΉ$LD$PdH%fHnIGpD$xflD$|}HDŽ$L|$pHD$hHD$`)D$PHtL@AwMGptcLl$0LH5~*LAOLAGHT$Ht$|$  HDt$ 1LD$(DLD$(HHH?HAWyAWAGVD1{LD$( ƒH@HtFx0uI@LHD$`LeAWt`HL$ HT$Ht$|$ HgL8t?uFHL$ HT$Ht$|$ H$HT$Ht$|$ H |$ HcH$1Hx3LD$|膼HĘ1[]A\A]A^A_Ë|$ AHcmwf.DAWAVAUATUHSHHt9>uXLd$L5?H$L1HHD$Jw1I}"IHt(HXpAA~vAA<$ AEGddDH[HtbH9kuLk(DS(tH;誺1L辰{,}t%H[Ht!HuLk(DS(tE1I[Ht$1ҿ[HD[]A\A]A^A_fDUSHxwBHcH Bft-ff|3 zHKHcHuHTH?農H$HH/HHHIifH1H$HD$)D$)D$ )D$0)D$@)D$P)D$`)D$p1HH$"ff.H!ȈuHH9tHcmH˙D$hD‰HD$ Ut HD$8HD$(HH 73H9HLf HHD1 HHx[]AAt(u7A1McJHHBHd]HDH>HBYH3YHEAtJAt+Au4H1~P&Au H*t9H_t(H[H[tfDHuuAtՀ8tMcHJ4鞚@SHfHnǾflHDC G SDfE ׃?D >AA9t^uL/~L}HcI9\Pt5H{tH;tH IHHCHHHXHCH s11H[A tLK/HS uHHHLHJHcEPAMcL9s%ML҃HHcL9tLMIDPLvIDPIDPHApcvAJHcHI9r~ƅM9LPHcMuWMtrLKHcLIDPL9tH LIH I HJ I;\Pf H9C f?/K HcAAAJHcI)H{ 4J wHHPHS HCHfHC  KH aHHKH H HYHKHHsI4+ItPH-FtHFLNHDWߋV!щA 9uA!DVHHJ HBH9uLK)$LaAqHHCHfo$Hw,IfDHAWAVAUATUSHH9GHHIHGHHH=vnHJH5ʉ Љ Љ Љ ЍP!Hi)kBHLcHlHP fDH@H9ujLߥLHzLT$ T$ DAGHHH FMAG!r)Hb~AG!i)kL,MLJAG u,I v"IW HH.LIAG Hf?BHcHLH)HHIGHJD(HxHtt PҀxtLcL9s5HH IIL IIL !HcH9s)HcH9stfPHc@H@HI+W1D`HHfPHH))tHc$D`AAD`H[]A\A]A^A_ÉVFD`f.fVl$HGH/HHHhH9uf.l$VHGH/HHfDHhH9uf.Ht}?SHu HOP[dH</uHtDHff.@HtH</uff.@H</uHuHiUDHHOfDATUHSH@H;/t/H 8uIH9tDII)IG;.t- H5PHIT$H} H H[]A\Àx.ui1I~i$ATUS DHHHG(HuHGPHHHPHH)LcLLKf)kRu H[]A\雐[L]A\f.DOIH=Q$ff.@HHuBt uHYu@OHH=$ff.@HHuBt uH u@SH蒖HH=v1[11HؿHuff.H;G<v@x:Xu1;f.H fDHHc:| tHf.AWH1AVAUATUSHHLDzH$H|$Ll$ HMt$HH:H $aL,FL0t5CvM1H,H$t11HH$,A$AttLG0tʸŨu[ulH<$H$H@HfDIHHu AA!L ApxdD$A$Ict$m1uH1҉T$A$shHǸjD$u fHǸiu 1D$BMcD$Ht$ALLuMcHLD$…LD|$IcxLA@A9xAPHc9tHcLD$…WHD$HHcиHD$…yl(IcpAP Ix$HHD$…AP9t9HcHcLD$…LIx$PD$…M@Mt)E9xAxwA@IcLIcxQMcHLHD$HpA$tI$1ҿI$Ht9HL$HHHdD$.H뾺McډT$AWAAVAAUATUSH8W^t!tLo1]t-t<AU"WLoA]AEII@$T$/A-uA}]uXD$LA9A9t~CLk<]tu<-t<[yH|$LHI\D$IuH|$ L$T$ 9(D))9s D)9rH8[]A\A]A^A_HI\bAM=?I5AUI]f.H8u<]u:IuHSH)HLl$ HT$LޕHT$LD -DHHTMLDH-T21)AWAVAUIATAUHSH(D$ HD$H$ff.HtLðH^C tLC 3[H]A\ H5HcH4HHH LHªH[]A\ےAWAVAUATAUHSH?Dd$pf1Ld$tH1Hl$`LHD$hDŽ$D$t$HtLC L{L?},ugHE8HtOoLl$ )D$ o@)D$0o@ )D$@H@0HD$PWO8 t HExEpLl$ L轌&Ll$ L讌H5Lb1LLL$ ȌH$HHt$dHt$1L脲EpsLHL$`H|$H9{u-1LQL萴uHĨ[]A\A]A^A_LJC 8HN1L Ep HEx릃LC ̨AWAVAUATUSHHLGHG8Lw Ao@ Eh(I@x1Ah,M`0)$Ao@0)D$Ao@@)D$ Ao@P)D$0G(C,IxpA@pstALH1Tt&AH=9LHM~L%HCHt HSHPHCHSHHBI~@轒AF LY1dH%P< $H<$HL[]A\A]A^A_AH(LHLLL"IFpKLAF U1H|$HHD$DHDŽ$HDl$@D$HD$P5Hc|$PHct$@HT$@D$TH$HD$XH[]A\A]A^A_1u HH7LHHGxËGp%Sbu[1USHHH/豆H sE tufH}U]1H|$HD$HD$xHED$$D$$Hc|$Hc4$HD$HEHD$HĈ1[]AWAVAUATUSHhx]AHAI̅t HtUy tOMcJHHT$qHT$HHtfDpHHxHL }N4!JG1Mcmu$HL9t8H;HtGt߃uNHqJ EtHHA|$ ucID$HtJoH\$ )D$ o@)D$0o@ )D$@H@0HD$PPHHD$ZqD$H\$ H,$H\$ HHӇ1H^HLl$`<L$L1LLH|$HHHv1LѬ1Hh[]A\A]A^A_AVfI~ATUSH\fH~fInH‰H HHH H ō )DAfHnI YfInH fHnYYD$fIn_fHnfInfHnYD$H[]A\A^YYAVfH~ATH UASH\f~fAnA\AAh)fAnYfnfAnfnYYL$,efAnfnfnYL$L$YYD$ ~D$H[]A\A^}fH~H fnHfW tf(H\fH~HH D$D$ ~D$ fofo\UfoW*D$ $~$HSfH~uf(f(HyfWf([fWf(SfH~H H\$ D$~D$OHfofoUfotW $L$~$H[WSt$(t$(豞t$8t$8t$8t$8H0t[Ht$(t$(t$(t$(d-2H(f(f(f(UfH~foH fn l$l$|$|$nf(f(f(HX\T$$Y \f(Y YNT$$X\rf(fW]f(Hf(fH~(foH(H T$fnȉ$X\Yk(fZY\fZY\$ZD$~D$( $T$fH~foH \fnX\$D$~D$fH~foW H D$L$ ~D$H(H~mf(f(f(fW~PHf(f(fWf(HfofH~6UfoÉD$ WD$~D$fH~foH Wʉ$L$~$HHl$ t$t$H<$ H(H(l$0l$@ |$<$l$@l$0|$<$8H(f(f(H Yf(X$Y\\$\膯f$%\$Yf(^ f/XH,f%of(\5CX;H*YYX\%FYY B\\$f(YX^f('f($Y H\mfH~(H YH XfnЉ$(Y\d$\If$cd$Y(^ R/XH,ffZH*ZY\oYYk\(X\Y\YZ $XX^(O4Y $L$D$ ~D$H\UH~2f(f(f(fW~Hf(f(fWf(HfofH~UfoÉD$ WD$~D$nfH~foH Wʉ$L$~$HHl$ t$t$H<$ H(HHl$Pl$`|$ |$<$ziH -il$@,$|$D$ fD$l$<$l$Hl$-2-8->\$<$p \$(D$(D$H8xf(f(fWf(-fofH~UfoWsD$D$~D$fH~f(f(H(HfH~H HȉH %A=E 5@A.@@a $D$i$f(sT$D$  $f(e\$f(Y $f(L$$ƹ$\$Yf(kL$D$蝹\$$f(\$h$$T$Yf(d$\\$$f()Ud$f(Y $f(L$D$h-;\$Yf(\$,$,$T$f(Yf(f(d$NmY2f(\$f(T$Y4$荶$$\$Yf($$cT$$L$f(Yf(/AA uU=%f(Y\XYYf(f(H(\fY$f(蛵$f(f( uwf(Y~ u1f(fd$$Vd$$f(Yf(Xf$$Yf(#$$f(f(W=~Et\Yf(f(6  f(Y=~\f(Yf(f(T$ $\$ $\$Yf( $RT$ $f(Yf(f(fH~SfoHЉH H fn%@=@ArB@C[\$D$e\$D$\$~D$yL$fH~ H D$軳(fnYL$\$D$襶L$\$Yb\$D$ 肶\$D$(Xt$L$ Y(f~Y\$D$(W(fnYL$D$L$~D$H [\$D$ dJ \$Y(T$ͳT$L$ Yf~(躲p \$Y((T$ Yd$YD$\$f~(VT$ (fnY6=@Džu@uS(YuXf\$T$T$\$(Y(\fY\$ޱ\$((XfT$Y趱T$((@t@t\Y(g(Yсvkuc=v\(Y9(L$ T$\$:T$\$Yf~(zUL$ (fnY\XYY(Hl$ \$l$0D$\$L$D$D$L$D$Hl$l$|$|$fH~H(HH % t:fH~HH ց t3=vjutT\f(H(L$ L$f(L$vL$D$f(TNT$f(f(봅x}\몁B.@w 1H(L$L$D$f(L$T$L$Yf(T$MT$f(YL$f(3ff(&fH~H(HH fnҁt&tGv}td(\(T$T$(L$T$~D$H((T$T$D$(>SL$(뼅\(-rB=\wD$1T$~D$H(BT$<T$D$(T$ xL$T$ Y(L$RT$L$Y*f(Hl$ \$l$0D$\$L${D$D$L$D$Hf(Ul$SH $D$AT$ $fH~f($fHnQ $H[SfH~H H D$D$D$~D$$ $T$f~L$T$~D$i$fn3' $D$L$ ~D$H [H(t$Ht$Ht$Ht$H|$0H t$Ht$Ht$Ht$H|$ XZl$ <$'el$H8fW fofH~UfoWD$D$~D$l$l$HT$$T$$f(f(f(f(f(YYY\f(YXf.z Hf(f(wfH~H(foH D$UD$~D$L$<$QT$$fofo(UfoY(Y(Y\(YX.zd$D$~D$H(#(fofoUfoH(l$P|$l$`<$t$Ht$Ht$Ht$H-l$0l$ H z|$0|$@H(H@|$0|$ |$<$NH@HfH~HHH!L$H9tHH#D$H9tHL$f|f(ifH~HH%H fn=t,fo(tT$D$ ~D$Hf>Ht$t$^_t#t$(t$(ZYtl$l$ Ht$(t$(jjN|$0|$@H l$H~f(f(f(fW}~Hf(f(fWf(HfofH~UfoÉD$ WD$~D$ffH~foH Wʉ$L$~$HfH~f(f(H(HfH~H HȉH %A=E t}5@A.@@G $D$Z$$f(\T$$L$f(N\$Y$f(H $ N$$f(0L$D$Nd$$f(d$e$T$Yf(\$b$L$$Y覾-[$Yf(f(l$薧d$$f($d$Yf($E$l$f(Yf(ZY5f(L$$螧$f(YY\$$d$f(fE\$f(Y $f(H(AA uJ=f(\YXf(YY\fY$$f(覦$$f( u@~ u f(f(f(f$i$f(f(e=~Et\Yf(f(DL >=~\f(Yf(Y f($d$V$d$Yf($,D$f(Y f(fH~SfoHЉH H fn%@=@ArB@CO$D$DW$D$T$~D$d$fH~for(U,$ fn$Y7$}K$#T$D$ bKT$$(T$貥$d$ Y(\$諧$T$$rV $$Y((\$]T$$(A $T$Y( $H $\$(Y(UY%w(T$$$$$(YY\$$$T$(&H\$(Y$(D$T$~D$H [=@Džu@uuPvHu%(\(fY$f$(f$$N$$(@t@t\Y((evmue=v\(YY:($$T$$$T$(Y($G$(Y&((\YXYYHl$ \$l$0D$\$L$BD$D$L$D$HHl$ t$t$H<$H(fۺf(f.f(f(E„tf.f(E„tHfH~HH!H9tHfH~H!H9rOSH H9uof(\HyIL$$sS$L$fH~f(Tf(fHnH [\f(^_$*$f(f(f(L$d$l$$S$f/l$d$L$%f(YYff(d$f/,$f(,$XY/fYd$f(X^f(f(̅XXf(f(f(T$ $d$l$0R $f/T$;d$l$1A,$\YXd$$f(Q$d$f(f(f(X^f($袟$f(f(f(%fH~fofH(HH .fnEքt'.Eքt(T$\$~D$H(Áw}fff/ZZf(L$$$$$XYvWL$ff(XZ^ZW.J\^=(\Åx($蘞$(\$T$hP\$T$$((^$$((W[f(f\$Z,$X$YV\$$(O $f\$Zf(X^fZ(Z$Ν$(NHl$ \$l$0D$\$L$mD$D$L$D$HH~yf(f(f(fW}~\Hf(f(fWf(HfofH~BUfoÉD$ WD$~D$ZfH~foH Wʉ$L$~$HfH~Sf(f(HH H с t!ff.f(z4Yf(+fH~H H?H HH9uf3f(fHnf(L$w:L$D$f(oL$YHfH~H?H95@D$f(,Ed$f(D$Yf(X6\$Af(YL$X\T\$L$T$f(YYYYX%^^f(f(H [\ff.ztf(L$D$MfW-d$D$f(T$fH~f(/9YT$D$f(L$\$YfHnYYVfH~SfoH‰H H fnҁtf.(zt-Y'(ʍu(fL(fnD$T$~D$H [(T$r>L$D$ (L$ Y몁/AD$ (Cd$ (D$Y(X \$8@(YL$ XUR\$L$ T$(YYYYX%^^(\҅(T$D$ KW;öd$ D$b(T$f~(G=Y\T$D$ (ϙL$ \$YfnYY(oHl$ \$l$0D$\$L$D$D$L$D$HHl$ t$t$H<$H(ÉHHHօt*ƒt?-\H #vk1H \Ho 1N-HHH W߃wHcHHpHHHHSHHTިHÿUϨVŨH)SЉIHwLWDÉA3IۋLHH3HA3AH 1ʉӉۋLHH3HH 1M9u3WDIASACM9s ‹I1ډ[AWDIHAVAE1E1AUL5IATIUS1'T$1|$ ӋTCTC3CIIHt>8E1@HIDAAt0 @ A ΉڸA E! )D!A1$[]A\A]A^A_AWAVAUL-DATIUSHEH$@H5HHPHt+AD$H ƒaH$BH؃"IL$^?ULPLHH=Ƅ$)EL9tUHHT$PHHoH$HH$RHDHĨH[]A\A]A^A_úHH;uL"H${Lt$PL$;LHH=+L$LLH= D$PT$P^=YS$543BHLH];*HLLE;HAWLAL:AVAUATUSDDO1AD$AD$Ht$1DDDNDt$HHщHA HA L$HWHHډHHE 4ADэVD HHA \$s11L=L-mL5f|$t$E1E1HAAŸ)AAA 1A DDEAHHHE ADL%HȍNA |DHE DHA A3K1A3C_tL%L-HRHLH=~HvRHtLH9HttH}*HHDH(H[]A\A]AVAUIATUHSH?HLuH?HEt0A@A)L9r,LuLM)LLILHCMIIH|= HHH@bCL9uLHL?[]A\A]A^CIUSHH9VHH5H=H VH9uHuHHHH[]ú#H5H5tՀ>$u+Ft#Nt<1t<2t<5u$$u $tUm~$uP$u<6uAVAUIATUHSH?HLu(H?HEt0A@A)L9r,Lu(LM)LLMHLHFMIIH|=( HHH@aFL9uLHL?[]A\A]A^HUSHYHH5H=H|YH9uHuHHĈH[]úIH52Hj4tAWHAVIAUATUSHPLl$H|$HLrHHH0H8H rH rH(H rH H rHH rHH rHH HAH9uHL$8H|$@HT$MLD$PHIH2HIHHL1IH1HIHB8HL1IIL1HHLIHBpHI9uIF@INE1L=MVI^In Iv(HL$IM^0MN8LT$H\$Hl$Ht$L\$LL$HD$MLIIHHHHHHHH1HHHH1KDKILMHLI!L1H!L1HHHH1HHH1LH H!L MHH<(HHIgHD$HIFHD$HIFHD$LIFHD$HIF HD$HIF(HD$HIF0HD$IHD$M^8LIF@HP[]A\A]A^A_AVAUIATUHSH?HLuHHHEt0AA)L9r,LuHLM)LLELHRMIIH|=H HHH0L9uLHL[]A\A]A^DATUHSHxDHpxLeH)L1DHELHHHEHHHUHHs@H HHH8HHJH0HHJH(HHJH HHJHHHJHHHJhHJHH9u[]A\LeH1)L5DHL01x=USH[HH5H=H[H9uHuHpHĈH[]útH5H/0tHdH%HH:HEHHÉ av 01҃ ‰ 1a1à    01 !1]a1 1^W߃]v1H8HG  A1WЃ wHH1vÉH G v$vv1øH wSHHcH6Z01 <_q 2D1ta01 S1t[É&S|9[vF=շvH' v@ v21w"1Ã1 ø1vÉH u1HH=,gHHS9[Wи v 1aWи v 1aÍO BO_BAAT@L%kUSH=IHL kVH!ЍRD)HH  HH"R)ȉAAAtt$B AHH6H?HH95SfHnHflHH?)$=oxYuC8H=;C0Hfo $HHHH9KHC 1H[øAUIATUHoSHHL%HH8II!&LH+C(LHHEHSHsH+{(7HHuHUIELMl$H[]A\A]AUHcATLlIUHSHH'LHAԉ+ATHcIUH|HSH2HFXHډLH[]A\AVdL4%AUATUSIFL(MtJHAJ,HSIHsH.7HCHS1H)H|n7HM9rIF[]A\A]A^SHt-H< HH6CHdH%HP([H HimNAHH" SHHHu 1HH;Hu1[AT=UHS8II)t8uH HHu 1[]A\HH3HtLH>uHB< =uJD AWAVIAUIATU1SHL=w IHt@LfH3Ht)LLt HHH;L+L`IH<H96t])HHt}L$Hu`H=6)N,#H6HDIMt L11H[]A\A]A^A_HH>)HHtL$I7LH-5LD)S=HHH)t8u H[QH1[=)uW1L6S1HH56LH[(HHH9tHH9tHuHtH1Ht2H4Lp(HtH5H5HJHH 5[AVAUATUSHt{I=HII)ta8u\tjL$I|I'HHtFLHH4BD-=J|-LIV3[HLH]A\A]A^H11Ht[]A\A]A^AU=ATIUSHQIM)t8uHH(HHu]eM1zHH3Ht+LL@u H;B7fHt$1)D$A )D$ dH%Hcx0Ht$HD$  ZAIHHHH5H=31FATL% USH-5H6!H߉5HI,%7Hh65[]A\UH-4SHHHA6Hc4 t'P4H H1H6H[]ûATUSH4H5Hu2RHHLHl6LH5HH2 ^4AU4G4 HH!2Hu[]A\ATL%%4UHLSHs5H=1t8Hc4 t*H$H9HGHøAT1UHH=SHĀ,Ld$@ljL#foD$@LߋD$L)$foD$P)D$foD$`D$LD$@)D$ oD$l$?D$,D$@##H1H5pH-HwHxVt| H= H)HD{#H5%1nHH[]A\HE#H51xYn1H=+ HtHH HH H=tHH5MH=JHHuH>H=heHHHHHt1H5H=/H~*HHD8 tHHhHbHu1H_H1HH(HHt7HiF~FH~fHnHiFfl)D$fHnfl) $H8H(USHhHt$8Hq'tH$H Hh[]H$HD$HD$ HD$0HD$(HD$8H H$n/tH1111H_HHSH1HHHHHHt.HH=rHRHʚ;eHi@B$HHD$HmxNHt3H4ׂCHL$HHH?HH)Hi@BHH)HKx1H[HH@BHHKH1xHHcHnHHHYHH~HAHH}H)HHHHHtHc1HHøHHSH1KH{胫H{H[AWAVAUATUSHL$L$)u\IHtTH$@IHHD$0H$D$( HD$8t@D$((Lp t/LH(H$@&H*H[]A\A]A^A_E1E11L|$PHL$@LL$LHD$HL$pH=Ll$@HHl$PHD$MLH=PLL$(1HL$PljLSHcZY\HLMHPL1wPHcd^_3IHcHcEɸFHBHcH#HHcuuHcHÅ~1HHHHIHcHcHcHHAVMMAULcATLcMHULHSHc߿HHjY^HcuMt~[]A\A]A^HHE1jMLHjHcXZE1HHc"ƒu u HcHHpHHHHt$Ht$~uHHHIHcHcHHH,HHHHcLcѸ-HvHHHcHcIHXHøHHcH9HGиH1HHE1HjHE1>"HHdH%@0HcH&HHcuu HcH1HHcҸHHHHcHcHHHHcҸHlHHHcHQHHHcHcҸgH3HH=tGAVHcHcDAUATUSH HtuHcHH []A\A]A^HH-qIHcdL$'011HF1H$HHVH$H$DŽ$ 1L"ΧdL4%uWIVA" Hcz0LHRL9uI^ HGH[L9u1L"1HDŽ$jHE/L蚥D1H?HHÅtHҸEHH-HHxHHH^HHIʸHCHH1H)HHHcHHHIHcMc/HHHHcHcҸ0HHHHHHHHHXHcIHD$`Ht$(HD$HD$ HD$HT$0HL$8LD$@D$HQHXHIHEu>Ht/HIHcHcj'I IL(HHHQlHMcIHcAPHcI GILHHHIHcHc.HHIHc7HIHc6HS_HcHPHD$`IHt$(HD$HD$ LCE1HT$0HL$8HcpHD$eD$H,Hx wH$HP[HIHEu>Ht/HIHcHcj(I ILHHHoHMcIHcAPHcI HILHHHIHcHcH}HHcHfHHc׸i(HFHHIHcMcH%HHu HIHcHc(HH{HHHzHHËWxNUtSHHH?HsHŅtCt kH[]1' HǸ>H(H<$H=Ht$HD$CHc|$7H(HHHHHcHc4HHHtEHHGH=?Bw'Hi~H1fHnfl)$,NHH1LcHHc!uRHcx:MHcAtHAtHGHHc:IHcHcEɸHUHcHcASLLHtHcHĘ[]HH,uH$fnD$fnL$HHH HfbfC~D$ 񉋈HD$0H C f0CP ʉT$fST$ SHT$8SHT$@HS0HT$HHS@HT$PSHHT$XHSpHT$`SxHT$hHS`HT$pSh!HH1HD$HH$HHHcHHHHHHHcAʸHHHHc2HHHcHsHHcHcAʸHVHHcHcH=HHIHcHcHHHHcHHHHcHHHHЪHHHHcAʸHHщHHIHcHc=HcvHIʸH_IʸHMIHcH8H)HHcHHIMcHHHIMcHHHIHcMcHHHHHHHHHHcHeHo dH%HHp(V AWAVAUIATUSHH(GDDg HT$"jD$L$ t ȉD$AALDHH9BLH)DH9T$HH9D ̓l$ADd$WERL9MAI)M9<H|$HotMAxDt$E)D$EAE4D$C,6tHuظC $H-E1}K|="HHtLH{ IUD{LHH{HHHC?H{IWH/HHL HDm $HmHtH}LH9ttLQ HCH[]A\A]A^A_1Aй17A7A16SH0Ht(HHHDooC@oC @ [SHu[H[OH9rE)ȹ4<F)2% =~HPATUH-S?Hu H-yHL%oxHtƃ @փav0 w A8uHHt DEu:t4LMdA<$uAD$HHHuH[AWAVAUAATUHSHt>1DttHAăDHcH  8Nt,C 1A L5GCHHAHHIcDc1L HcCH AID9H߉L;(H;HA HPEJcHM1HH!1I91I91I91L9z1L9m1I9`I ?WLH)LLH@HuH5HH[]A\A]A^A_L1HHHtL1HHtfAUATUj1SHH-8?t H[]A\A]HpHL#8:t HHpHL+MuL+L+HvAT1ҹcUSH Ht$HH?t ;u H$!HpcHH,$G8:tHH []A\HpcHL$$HuL$$L$$AWAVAUATUHcSHhL-'ILntUMLkHHHD8HXHLHǰHDHhH[]A\A]A^A_MHC.UTF-81Lt$1HD$HT$HD$ LDHtXHD0HAHtU;LHL)HLLH$HD$H$HL$D9tLaL%1EfoD$0foD$@foD$PL=E1H-ULI1H9AHXHHHDIHHHIH1BD5;Jl5HI9uELAHHEH4HD8hdH%HHHLD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HL$D$ HD$HD$ D$ 0HD$EHHHL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HL$D$HD$HD$ D$ 0HD$EH[pAUIHATIUHSHHL9rHH[]A\A]HLdH%HHHHHDHt?USHHHH=w-H=Ht0HUHHH[]11HHHuH1HHH1dH %HHHtHHDHH9HHDdH%HAUIHATIUHSHcHH9rHuHH[]A\A]HPLLHULLADdH%H,SSUHSHH!HH9+H1HHH#'HtH9HCH|(HRHtHpAȃAxttHcpHHcH)HWHH;ztz 9~zDszDsHLuHL9tDB Df?@/wYLL ?AA AVH)AUI1ATIIUIܽ/SAIHfHnflHMHM9AoLL)LcL9rAHHL`Hcہ@@I$HP HPB HPB HPDHxtH8tH HHQHPHHHBHPHGH[]A\A]A^A_@tWwAЃAttwHH)HGHOH9HtH 9}HDsHDsHH=HH99tx f?/w6H=? OADA9~H f? O9 ftHx vHH HcHHHH9sHpAUIATUSHAqHÉ@ uHx vH@ H%HC Hf?BHHHCHT @w}HL)H9sHH)ƀ>t:t1K AAfAASC ЅttN9tH t5K9uH[]A\A]<tBHwzmgKL%u9H߉ILHHHt^HHD(Ij E,$LÅx t#muH=H=~@tWwAЃAttHcwHH)HGHOH;HtH 9~HDsHDsHH=HH99tx f?/w6H=?A ODD9}H f? O9| ftsHx vHP HHHH9sP f?/wI1@ uFHx vtH)AWAVAUATIUSHHHH9iH@tCSƉǃ{ttHcSHHcH)HhHHH;MtM 9~EsEsHH5H%H90tM f?lYY\6lYXZl$ ) l%ll%ll%l-\l$H\kL$(BL$f(kHYYYH\~L$ HL$ (HYYYfH~HH4tt1H1H f~‰%t=tÍ 1 HT$HD$Hщ%H?f tftH1Ht1HitjD$D$f^ftD$D$f^\^\^sj'V;aj @!f(ȅtfW YL$L$Y(ȅtW YL$L$YfH~UHSHHH H?ʁH8zj@! |@wjHu5\i if(\\\GH8[]Xi if(X\XGHu0\fi fif(\\\GX6i 6if(X\XGa;F@@w|@ hY hf(fHu-\hf(\f(\ff\XhXf(\ffX!@5Hu3\h hf(\\\GXLh Lhf(X\XGW!9A HffH!H`AH fHn,*\L$ hY,*\T$Yff.D$ HH|$AfH~H?f~D$ff(f( bf(Y%bYf(Y\ bY\%bYYYX%aYXԅuY\aYX%_YY5aY\f(Y\\\f(f(aYYf(YYY a\a\ aYYYXfXZl$l$ oa%qaqa%qaqa%qaqat! u-P-PfH~f(ЉH '?v7t~NfWfW_\`\fXf(`- af(YYf(YYX`YX-`YX`YX-`YX`YX-`YX`YX-`YX`YX-`YXYY`XYXf(XXÁ'?w]tX%^fH~HH!^fHnf(\\fH~H!fHnYYX ]XYXff(ȹY)*X^\XX\f(ątfW_Mf(f(_%_Yf(Yf(YX_YYX%_Y _YYXY_XYXX…t n]^f(ZUSH(l$@<$XZm_l$0l$@r 1-M-N 1_3_3_3_3_3_3_-M )_+_+_+_+_+_-M-M^sQt0arH[]ɽ۸)؉D$ D$ tf(q^ ^YXe^Y\ ^Y\U^YX y^YXE^Y\ i^Y\5^YX QZYX%^Y^fH~f(HH %=?v0-? ufx ^XZ\f^H=?wG=`w{=2woXo( oYY\ oYX yoYYqoXo^aoY\(:o\\H n\Y n(L$ L$ %o(f~nY%YX%}nfn\nYXnY^(Y\YX^XXXHX-n -nY(L$ L$ ]nY\UnYXMnYY EnX m^Y(\ .nXn\XsfH~Hf(H4tvJɂXZH\ Vf(f( $YXX $HXLjf( $XY\DVT$ $T$X "VH^\f(4f~H(ȩ@t=EvJcX3mH\ l((L$YXXL$HX(L$XY\qlT$ L$T$ X NlH^\(ΏH(l$0<$HT$=?~.=@~Xft$t$-yGXZH(H|$<$Fl$|$@H8,$H|$ <$l$l$ |$@H8n,$f(DX lXYX8XY\ \XY\(XYX LXYXXY\ vYYXf(xS\Y|SfI~f(fIn23?v=YXXf(,S\ fH~f(HH!XfHnf(XYXYfIn\^VX\f(CT\f(\\f(\rSf~É%H=?v6=?t(\f^H[ZYORXWVZ=>wU-=8v( ciYY\ WiYX OiYYGiXh^YXb h\Y hfL$ Z L$ f(hY\hYXhYY hX ch^ZYXf(X[Q\ZWAfH~SHHH?H4H?fHnȉH w%uLUXD$f(} TXHtfW ^AH f([f(f(HD$YXXP$L$XP^X$|f(f(kPHD$YX$$XGPL$^Xf(蚂f(LSf~‰ÁH fnʁEw'@uH9:gXD$(J gXȅtW _@H ([((ىT$ YXX|f\$L$ X_f^XD$((@fT$ YXT$X!fT$L$ ^X(`(SSH@T$XHD$PHD$ HЉT$(ffT$(l$ ff@w@u8f?wu$f|$0H<$-AXZftH@[H|$ |$<$l$Hl$0<$:H H|$ |$<$Hl$ l$0<$H jfH~UHSHH H?HˁHDv5HH?H9 QXM?H?>f( QYf(YYX QYX QYX QYX QYX QYQY\QY\QY\QY\QYXYȃH\ H \\tfWa=H[]ufZL$ f(ȁ?wE?wXX P1\L^rL\X^@w&|PY\X 7L^FM^v\>HfH~HH!H9rhHfH~H!H9rQHHH H  tBSˉ% u. %Ptf(f([Xf(V tJ9=t9fɃ\ O\ 2K댃=tfɃuHI d xLSHI B [O1 J$ J^sf(ȃ^\ Of( J\^ϼ;f(ȃfW :f~ȉwOf~‰ցw;=?t<Sà Ӆu/ Ma( X(TtS 9 9fɃX `\ a`tfɃH_ ttt1 `t] `S `Y `Y `9 o`Y _Y _ J`u _ _([^BD(ȃ2X `( _\^(ȃuW !9Uf~SÉŁHLv)Z|_Xx_B6>9v[( _Y(YYX _YX _Y_Y\}_YXY\(YL$ ?/?(-^XX^\O^^^( ^Y(YYX ^YX ^Y^Y\^YXY\\\tW7H[] ](-`^X\^P^d@w4 C^(-$^Y\X|]^ ^(]-]^]fH~SHHH?H4H?fHnHwSwuhfZL$ Xf(FX\f(Y^f(X[xYE! E\^X8xYEHtfWI6H[f~S‰ÁHfn>wR/wud(YL$ U(H\X\(Y^(XyY)\! \\^XayY\tW5H[SH0T$HHD$@HD$ HЉT$(ffT$(l$ ffwDfwfuTT$ D$ D$BH<$BY [^H<$$ b[XZftH0[fH~f(HH %=wAuB-HYfH~HH %HH!x)Xf(ùHH!x*HH %HH!H ¸fHnf(f(^YYYf(Y\%[HYY%SHY\%OHYXKHXYfH~HHH%fHnf(f(YX^f(X\^YXf~w?uD(؅5&ZYf~HH!Q&(XHH!Q*%ff Zf(fnXZf(Yf(YXYf(XX^f(YYXXYX^Z(H|$l$f%|$f=fu9l$ hY|$HD$ȋT$l$HD$HЉT$f%OP?fD$l$HcAHiVUUUAH D)DID)t%t tu! XHcHcHiVUUUf|$fH )T$L$f?T$-3 f(fD$XًD$%f(HH!Q*fnZf(YYXYf(XX^f(YYXXYX^\$D$%Wl$fH~HH4%=2@Dff.Eքu2CEf(Hx"X\\=~1fXf/w2\X\=AL$@L$X@f~ɃXx*tI X&WI!D$fnX WD$RWxVuffH~fH~HH?H!H fHnf~f~% fnËT$HD$T$HD$HT$ f%f fD$l$fH~HH %=!?w.=F>wX#C$>HfH=v\HL$$ttu*k붿fW*/PfW/듿if~H%=I?w/=9wXUD$*UHHZ=S{@w]Z=@wt5X>HtX>WW.\> =H\f(a=1@w_=@w t?WX.Z\BH3ZtXsBH\bBZ\\BH=v \H|$D$t8ufW-fH~HH?fHnH H=A.?wJH=O>wXAD$<H<f(XYX^XH=A.@v <H <f(^f(XYy<f~H%fn=r1?wH=9wXSD$ SHAS(XYX^X=rBv RH= R(^(XYRH(|$8Ht$0H|$f%H4$fD$,$f=?v>HrH9f=?uYX)?Y\ >YX?Y\ >YX ?Y\ >YX>Y\ >YX>YXD$fH~L$(HH!\$ fHnHD$f(fW_)Y\?T$\$ D$L$(^L$f(X\$\f(YXYD$\$^H0[ϪZ8 B=f(n=\YXf=YX "=YXV=Y\ =YXF=YX =YX6=Y\ <YX&=YX <YY\ <X^=\4=Y q=\ q=YX=Y\ a=YX=Y\ Q=YX}=Y\ A=YXm=Y\ 1=YX]=Y\ !=YXM=YXD$fH~Sf(H w6?/>wE8YY =XYm8!6۸f)^*X[f(<Y<YX<Y\<YX<Y\<YX<Y\<YX<YX<YX5^YXi@v%5\{<IfWK&(F\f~(ȉW?#Y!HHYXHY\GYXGY\GYXGY\GYXGYXGYFX^Yс>vAu=E\X\Ef*^XE\X\ÁAvt7GF\EÅtHu(&FH\\EYSH`?gt$xt$x|$XZڶ@-!-!-!-!-!-!-!-!-!-!-"-"- "-"-"-"-%"-+"|$@H$HHH!|$@l$|$`HD$`l$`|$0%E<$H|$0l$ l$@l$ l$Pl$`<$Þl$0l$ H H`[t$xt$x腟Y^----------------d dH=UYXfH~\ LHHH-YHY8\pHDxX1XYf(XYX Y X YYXYXtVfHnYXÅx/v5HH9t 1HxQX']1t9H?u'HfHnYf(Xf/w0Y.f(HHfHnYXY-\f(XXf(\XXfX\f.zu-f -YT$L$YL$fH(H|$D$xbHT$L$HH4%H=wQff.z!ufHnH,ƒHH(Y-,D$HHY,iSf~HH|$ bD$ wPf.z!ufnH7,ƒHH[Yk>1,D$ H HYfnfZYi,ZH8H|$ t$Ht$HUbl$0|$HD$Y^f%f=@z;u=|$HD$ fD$l$$l$$HH,H8-(H<$l$0H|$.D$. fD$,l$,\$l$.D$HH,XZt$HR=t$H|$t$t$rH wfH~HH47>H=Hf(XfH~\HHH-\ vHHDxYf(YX RYY^X\pXHYYXYXȅt}fHnYXÅxTv/HH9t1Hy5HːH9r-HHH9B X#1'1:t9H?Y#HfHnYf(Xf/w0Y)f(HHfHnYf(XX\f(XXf(\XXfX\f.zu)f u)YT$L$YL$ff~fɉZ%=/wtHf(XfH~\HH/\HfHnYYX1"YXYXYZÁt4=w!f/w:/c1鸸X1钸ff~fɉZ%=*w|Y VFHf(XfH~\FHH/\ HfHnYYXW!YXYXYZÁt4=w!/9w9/[1޷X1鸷ffH~HHH H?ʁyhC@HH?H9Hf/'K '% Yf(Xo'f(,f*YY C'\f(\\\f(f( ?'-7 YYf(5{!YX 'Y\ 'YX 'Y\ 'YXY\='\Y\^Yʅ:\Y\\ʃ.2HH48L)H4gfHn\\XfHnYYÁB.?w<%C1?wMf(Hu"\& %%X% %%x %YHt%%&%f(fZL$Y\\\Y\%f/vX\UY\XX\X=tfHnYf(\XYffHnX\XfHnY f~‰Љ%=CA@==rBZ64Y(X;6(,f*YY 6\(%A4\((\Y\ 5Y(54Y\ 5YXY\=5\Y\^Yʅ\Y\\ʃquPу8)fn\\XfnYY3=r>wz=2Z3( 5YY(3Y\ 5YX 3Y\%4\Y\^YY\\=?wK(u"\-4 42oX-4 s42Me4YЅt E42t2((YL$\Y\4/vX\Y $2(\XX\X=tfnY(\XY1fnX\XfnY1fH~L$HHH!H9rHD$H!H9rf/v\f(f(f(ff~f~(ȁw&fnȁw/v \(f(Ht$t$4^_u l$Ht$(t$(ZYtl$ l$v|$l$ |$|$HfH~H?H9f~%=fH~HH4%=2@Dff.Eքu2[f(Hx"X\\=~1fXf/w.\X\=]L$L$f\#f~ɃDx*t5 XB0H!D$fnX(0D$fx/uY0ATUSHPt$xt$x蛮]A\$$|A[[~i$$aAYAZQl$pE„u*۬$D„u۬$z1u3l$pl$p۬$۬$HP[]A\H|$4t$xt$xH|$H|$$$|$0H H|$<$$|$0-f|$LËD$HD$D^AX)*Gt$()t$([u]A\1|$ ;e~,$l$8l$4l$l$ z څ<$H<$|$ y l$l$ |$ _AX=H<$StY^R d$$*ZYu, t$tn۬$Md۬$l$p۬$18uH<$$$UH l$p۬$8s<.)l$p۬$8HA,<$t$t$$$UH )It$(t$(jASH |$ |$<$b,$H|$Pl$Pl$ |$l$0<$rl$AYAZ|$ ɿ |$<$uc Abrbl$Hl$0l$<$frH<$|$ H l$ H =|EB <$b,$-ؿ b,$tؿcb,$H$[|$ *H<$t$t$S|$ l$0H .l$l$,$zut$t$qXZHD$HD$ƒ8t ^*H<$t$(t$(6S|$0H fH~f(HHH!H9r>fH~f(HH!H9r#H?H?9tf(Huf(f(_f(f~(щw6f~(Љсw9t (хx ((_(St$t$}AXAYul$ [t$(t$(b^_ul$t$t$*t$8t$8H 9ul$l$ t$t$ZYuHfH~HH!H9r,fH~f(HH!H9rH?H?9tHuf(f(]f~w'f~(Љсw9t x((]St$t$[AXAYul$ [t$(t$(@^_ul$t$t$t$8t$8H 9ul$l$ t$t$԰ZYufH~HH4%t.=t]-HH!H?H fHnff.z uHYH|$H|$/@Hf~‰%t=tK~?fnf.z uHY0'H|$H|$/@HH(l$0HD$8|$ft*ft3f%?f ?fD$l$H(zu l$0l$0 &HH|$<$H|$/xXZHfH~fH~H!H!H9r HHHHfHnfHnHH4H4H-H%H)ȃ@HHV-FYYFf(f(f(f(l$YYY\Xf(\Y\Xf(\YXYY\Xf(YXXYY\XXXXX觇l$HYX-?H<<r-rYYf(f~f~%9rщ‰fnfn=tjwb) wVH]vO&YYo&ZZYT$ YXZцT$ HYXD$=!w!&YY&HHHD$P|$hT$XHt$`HD$ HT$(f%fHt$0|$8fT$(l$ fD$8l$0f9rɉȉƁz)@?_--<$H<$葅l$XZHH|$H<$|$Y^,$l$ρ --<$=<$3fH~HH4%u(H t Hҍf^D$荈=uf1H ^فD$f~‰%u& t ҍbf^D$H=uf1 ^فD$HD$HL$f%u'Ht Hɍÿf^D$Ё?f=uf1H^ځD$USH($YiD$$Vf(ЅtfWL$Xʁv-Y $L$蓃L$H([]^f(4$L$T$f(X|$T$f~L$f(YfWf/f(^GmtfWH$H %=@=.@=l@bD=D%DDzDyD5D D-q\f(^f(GD=vfED%pD_DVDUD5lD k,$=f(Yf(^DYfA(XYXYXf(YAXf(fA(YYAXAXYAXYAXYAXYX^XYfD(=@R=.@H=l@DjD%iDhDg%o\$i iD H`D5_D-f3D=@D%?WWD.ND%D$D5;D :D-9qD=D%DyDpDoD5D D- fEDqD%pDoDn%v\$p pD OgD5fYf(XYXf(YXf(YAXf(fA(YYAXAXYAXYAXYAXYXL$YX^fA(\^$Y\o&DD%DD%\$ D D5D-tDD%DD% \$ D D5D-UfH~SH HvY ^Hf([]w@u.?w57v YY {\H1[]f( Y%FYNYXYX fYXY\ VYXrYX FYYX^f(X\YYXfH~HH t>xKf(H=wHH=?wMH(H=?>wM/Y\%H(f^f^V^ÉǾf( HT$Y YX YX Y\ YX YX| YX Y\l YXYX\ Y\X ^D$f(L$D$f(.YD$YXD$USH$:gD$$(ЅtWL$Xʁ~v,Y _$L$d{L$H[]^(4$L$ T$(Xe|$T$fjL$ (WY/(^XstW$%=@=s@=6@YD=D%DsDfDaD5hD cD-^o\(^(OD=fED%DDDD5D ,$=p(Y(^DYA(XYXYX(YAX(A(YYAXAXYAXYAXYAXYX^XYD(=@R=s@B=6@DD%DD%\$ D D5D-3D=mD%hplDS_DFDAD5HD CD->xD=`D%[c_DFRD9D4D5;D 6D-1PfEDD%DD % \$ D D5Y(XYX(YX(YAX(A(YYAXAXYAXYAXYAXYXL$YX^A(\+^$Y\DPD%KDFDA%A\$7 3D &D5!D- oD>D%9D4D/%/\$% !D D5D-Uf~SHvY ^H([]o@u.9w5!v hYY H\H1[]( Y%YYXtYX XYX`Y\ DYXLYX 0YYX^(X\YYXf~t=xJ(ȁwH?wMH8wK5Y\H{f^f^-^þ(|$ YYX{YXY\gYXwYXSYXcY\?YXYX+Y\#^D$(L$ D$(4YD$YXD$ATAUSH $Yf(EtfW$T$T$f(\ȁv;tfW Y 8$L$DsL$H []^A\f(<$D$L$f(X蘺T$f\$L$f(Yf/fW#f(\^ʁG_EtfWH$H @.@l@]D=D%%DDDD5D D-if(^FD=fED%%D}DtDsD5D 4$=df(Yf(^DYfA(XYXYXf(YAXf(fA(YYAXAXYAXYAXYAXYX^XYfD(@T.@El@%D=D%DD-d$ D c{D5zD-3D=[D%Zr%rDIiD@D?D5VD UD-TnD=D%%DDDD5D D- %fED=D%DD-d$ D jD5Yf(XYXYXf(YAXf(fA(YYAXAXYAXYAXYAXYXL$YX^fA(X/^$Y\a%ED=D%DD-d$ D D5D-%D=:D%9D8D7-?d$ 99D 0D5/D-6USfH~H ݁H@f(ȁ7f( YYXY\ YXYX YXY\ YXYYX^X YH[]f(Y^fH[1],fH~HH t-x:f(H=w7H=?w\>A?\+f( PY(YY\ =YX 5Y\ -YX %YY\YX Y\YXYYXY\YXY\XY\\\ X-f\ YYX XYYX xXYYX dXpYYX PX\YY\ YYX^XXWA@],f-*ȃ\ Y(X YX YX YX YX Y\ ,YYXYXYXYXYXYX^LYX˃sH,HcHX(-RXYXY-nXYXL$$YZL$$X(T$($A\!$-(%T$(\^\d(YYX%Y\%YX%Y\%YX yY(YX jX=$T$(\ YfAUATUSHHHD$xLd$pLH0 Ӂ,If?(fGM3@MQ$|$>l$pT$> fT$D$T$--------- -&-,-2-8-> $aHHcHl$pHH[]A\A]ftl$p|$pt$xt$x$R^_l$p -HL$|$ L$<$|$0Kl$0f|$NT$N fT$L l$L\$0l$NL$0*YD$D$0d$0X-YɃtHtKt(jjH1<$yH zt9xXft|ul$l$ztHwTl$?[l$H?<$XZYtfu!ft ?l$l$?l$l$zt wl$?gC<S HD$D$tH[ÿ D$&D$S HD$ D$ tH[ÿ D$ D$ S Hzt$(t$(:XZtH[ÿ <$,$HfH~HH!H9rWHfH~H!H9r@H9t?Hu?Ht5HH!HHYfHnf(YXD$Xf(H9r H1HByHBHfHnH4u XD$Åuf~wFf~ɉ΁w29t2u2t*Yfn(YXD$X(9r1PyPfn%=u XD$ЅuH(t$8t$8V^_ul$0l$@H(t$Ht$HUZYtl$@l$0ztl$0<$z-u+HD$HH$f%fD$,$l$0|$l$0l$@Ht$8HT$0@f@8t(HHtTHH$f%f=th,$fEHHHt H$f%HH$FfD$f%븍FfD$fuHH$,$LHl$0HSH D$H\$HH?H9sl$0D$\$D$H [t$8t$8T^_tD$l$0zty\$ff.ztrl$0HH?HSHHHEHfHnH4%=tquL$f(YYXL$`\$D$Ot$8t$8]ZYuzHSHHHEwL$XL$SH D$ \$ %=vl$0D$ \$ L$ H ([t$8t$8VS^_tD$ l$0ztd\$ f.zt^l$0v{SCH‰fnȁtiuD$ (YYXD$r\$ L$ at$8t$8\Z 1Yu 먍SCHD$ XD$gfH~SfH~HIH4I4JH@D1BHjfIIHHD 5D%HI!H4H-*L)LfHnHHBTHHYHIL!f(XpXYfHn\YXX`\-{YfD(DXfE(fE(fA(EYXAYX`DYEY\f(DX%5EYAXAYEXXfHnAYDYXAX\D%AXEYAYXDX%́EYXAXAYf(f(Xf(X\fH~H%fHnX\YXfH~Y\HH4Y͍7Xʃ>m0]0]L!]YXfH~\]HH>H-YHY]IDxXA\pXX\Yf(XYX\Y \X \YYXYXfHnYXH@[HH<6LWL9H|H9HDǁ 33)HHHHHHDH?DBAAAEYHfH~H?HH8HHH9H9HH9HHfH9H?@8Yf(H<6HLOL9rCH?H9H?H9X f(XHhH?H9UHHH9"<YHx&H ^L$(D$(AA4wǹ3HD)HHHuHsfWDA1BC H@[M1\qH9I18uH@[Mxv,HxH@[}MXȶ&fWH1Tu'HHfHnYXY:H?f(HfHnH\$Yf(X\$f(L$(=8L$\$T$f/wȼYuff(\=XfTfUfVf(Xf(\XXX\f.zuHH!fHnLD$0T$0YT$8iyf~f~(ٍ q~D1fH5r-*сfZ)m*fnHZHYXa\Yf(YXf(YYXYY XYXXYfH~H/f=Vf(HUXfH~\VHHH/\VHfHnYYYXVXYXYZÁw@L1=YDf~%- #uP=wI=tK=~f8u6Y(=?tXYxx3ÉHw빖)HuօtW ^L$D$É~v4w")vu1@%dIf/ xwvf/$sITIrAVATUSH|$p$$gHA^Zu?$$MH]A\t۬$E„u>۬$=$$HA[[u8۬$z"u HĈ[]A\A^۬$۬$E„u۬$D„uzj$$ $AYAZ۬$zhH$$۬$z7u5۬$۬$۬$z!u۬$w۬$v1۬$8t,-h-b-]$$۬$z)u'۬$0 $?$$"_AX۬$ztL۬$A;۬$w۬$|$@$$("%Hd$0D$0|$P<$ "|$@XZl$P<$!l$@Y^l$ zJuH۬$pj۬$1۬$ۼ$^۬$z.u0۬$]ػ۬$1$$$!AZA[۬$$$ AXAY|$^۬$D$^ fD$\l$\$l$^$AƅAH|$l$$T$|^_BōH@wt-$-d$$D4$$- -B-@-vA۬$ۼ$@'۬$۬$ۼ$@tHF۬$m$$LA\A^ f^ $$۬$ ۬$-o1l$H|$l$$S-Dd$|A^X@-k =L$lHH-FHcHlrL$lȃHcHlrD$l-D$lH ބHcHlHcH,ʉD$lHH=%ۼ$<$|$۬$HH=|$@l$ <$|$ l$@$l$ D$ ۬$L$0-ݦۼ$۬$ۼ$۬$ۼ$۬$ۼ$D$ -Dd$ D$ |$ ۬$AYAZ-<$B-nH۬$۬$|$@l$ ۬$-K|$0<$-%l$0|$0l$ l$@-|$ A[A\<$-Hl$ |$ l$0-ߥ|$0<$-l$ H -cUUl$|$^D$^ fD$\l$\<$l$^L$$v -MIHH=<$|$ɅMI|$Ll$IIHH?Hɉ|$|HL)ۼ$Hl۬$ۼ$۬$ۼ$۬$<$ۼ$_AXt l$p|$pl$p۬$$$HXZ$$eH[]sAU؉$$--k'-- Au0)-;T$l1$$$GY^ ħf^ $$HH|$ 聉HHH|$ .HfH~HH4%=2W AHy%\Xff.z8fH~HDfHnX\ff.zfH~fH~HDfHnf~wM oy!\Xf.z0f~DfnX\f.zf~f~DfnfH~HH4%=2Gf(Hx?lf(X=~2\\f/Xf(v'\cHx2fW fT$Y f/rX.fWf~ʀw?(ȅx9o(XӃ}v.\\/мX(v%\x0W kfT$Y V/rXW<ËT$HD$HD$HfT$l$f=@w5fx1f?v$:v*fx1|$HD$؉T$l$rfH~f(HHH!H9rfH~H!H9rH9u$ff/v Yf(fWI^f(HD$f( $ $f.z1T$u)f/ Mw0Kf/w4,f(HZ\H^f(ÿf(H7f(H%f~(%=wf~%=w u f/vY(W^(HD$ (L$L$.z.T$ u&/ <w-6/w1,(H\H^(ÿ(H(HHH9HLH9HO>HH9HLH9HOHH9HLH9HO~0 JY~*Y9O|H4fHnY Y=|Yǒ9L뵃~- ^Y~!Y9O|fnY GfY|Y9Ll$?~E-ǝ=?~ɺ?9Of?|$fD$l$É}-?=}ʍɺ9LHD$處D$H؉XHD$ D$ H؉fH~HH %=!?w>=O>w(f(uY  $HX 1fH@=v\H7L$$ttu'@Z4랿{@fW?4fW xfH~ATf(UH HSH%H =!?wn=F>w8u&Y=H.UD$HH []A\X/1fD$?T$fEf(3=v\H|$6L$D$A?L$D$D$L3DT$tt(uBUGfWE1~ ُfWfWUfWEAVf~ATU%HSHH(=I?wq=9w9(u$Y E?L$H([]A\A^X fZf(L$4?L$Ef(2=S{@Z=@w`t? ]Xf(L$2WL$Ef(>^ \f(L$m2f(ȅtJX f(L$>L$WEf(-2kW\ ϝ=1@fZ=@wbt;X wf(L$1L$Ef(=W\ <f(L$1Wލt X u\ h=v\3H|$8D$A{=fA~D$51Dtt+uHDuEfAnWI 8fAnWWUWED3ATUHSHH@l$`HD$hf%|$fD$f=tCl$Ývpf=?w7ful$` H|$ l$`};H@[]A\>?j1jt$xt$xvBf(f(YXX(^\Yf(X^XYHf([XH[-Sf~(H vx T$fnÁrBwoL$ z?L$ w2T$9v?((YXXQ^\Y;(X^XYH([XH[-AUATSH0Dl$XLd$PDLd$ Dl$(ffExM<$f\$(l$ f @v?f @u{HrI9wlH<$_AX,$nW<$H<$uY^f?wLd$Dl$l$f?v7,$ MH<$l$XZH0[A\A]H8l$@HD$Hf%<$fD$f=t3,$vIf=?w*l$@fu *|$l$@H81j1jt$Xt$X7H H|$t$Ht$H3l$ l$0ZYt$t8uTH |$<$m7H H |$<$+H sH |$<$97H SH |$<$*H 8fH~HH %=!?w>=?>w(f(uY  $HX 1fH:7=v\H,L$$7f~H%=I?w>=9w((uY L$HX 1HZ8=S{@wPZ=@w$tX(HT8\tX$1H38\=1@w;Z=@wt X\띅t X\=v \6H|$:0D$7fH~SHH?fHnH HH?H=?vVH=4@v'f^G\HtfWƄH[X.s GX^\H=X?wH=w+fZL$ Xr X^YΓrf(X ݗfW=^af~S‰ÁHfnT ?vS Av$f^X J(tWH[Xfu ͪX^\ȁxł>wu*(YL$ X!u X^Yҩu(X fWw^gSHT$(HD$ щT$HfH$fL$,$f?w?H f?uRSH9sAH<$O_AXfxuH[f@vf?tf?u&włH9sH<$Y^ H<$XZ}H8l$@HD$Hf%<$fD$f=t3,$QvIf=?w*l$@fu ֨|$l$@H8ݨj1jt$Xt$X75H H|$t$Ht$H,.t$8t$8t$8t$85H0HZsxHZH(l$0-H----- |$<$`H |$@l$` %|$<$l$@H0-,$H(|$0HH= p<$|$ll$H|$ l$P<$|$P|$0l$P%|$<$l$0H yfH~HH4?9HHH HOHtXޓHH!D$fHnf~‰Ƀv,NtXʦ!D$fnl$l$l$l$l$l$D$D$rwP Xl$H<$fD$f%f= @rNf=@sF$<$r#$_$t$$$H1f=?r<$T$D$D$?,$Hl$fD$f f-߿f-vfxH0<$|$|$ )<$f|$txl$ l$HAP$H eG?P$H/=P$HPH-_P,$H(H0fvfsTfvfrTl$l$|$d$ D$ l$d$ l$l$ l$fH~HH4ׁu)YfH~HH4HD1HIL!H HH H!ЉH5H HATf(UStf(IIef(HIVAA~f(t Yf(X[]A\DI HH HMLHLLAHH H@H @@C<IA)EA?HDH@D)HI I EH E1A9H1LH)H)H)aHH4HH?H؉HH؃HH z1A@tA?q@ID)ÉILE1HDAHI LHDL I@AA)t:A?>@H1D)HDH@HH 1 E1H11HLHHHH?@H؃@)HHHH 1HH )Eu^fH*H1H6H H H eL)HH1H)E1H)E9A{HfHH*}3"t4H1H6H H H HfH*[]A\ޚf.ztZHH5tHƒfӚHH H>HHEHEH*X\Yf(\YYXYZZY|ZZYfZf(USXH8fH~HHH4%H=tjZH8[]Átf(\f.zuf(\f.ztT$L$D$$O$D$L$T$uH1H?f/9\Xf1HUf/fH9HDfHnZM T$L$$$L$T$ T$ $3T$ $ T$,D$,ZX$$t$ $$\Xl$l$uH-H-l$|$HD$l$ËD$%l$=?wl$l$H-H-l$|$HD$l$l$ul$l$uT$H dd11uuL.HLHuHtHLL]L9uH !LHLH.HQHLLI95HH []A\A]A^A_AWAVAUAATIUSHH(L5vHAujHmAA9 HcI4H>-t5;-AHH0H([]A\A]A^A_Ë tV-HHcuHHH|$D$x~IcI HHHc0H<1HH|$|$H=H<u AD$Hl$+<HE1E~XAD$D$mAD$9D$tIcHH~Aډƒ:9Icπ< :H=HH| :Hc2IcJIAHH=A9dH;::MH3tDHcL$I<$H5ՍHT$s(D$T$DH5;:t Hu ?HcL$I<$H5XHT$%ډх_JIAHH=E1kAkHHcH)…IHHxHHHvHwHATI.UHc1SHHHHHJtCA8&t HD[]A\HaHHHxH$HHD$HCE1AHHcbHcHAWAVAUIATUH,SHHL'HL%HHtHPHE1LtLHIDIE:IJ|EHt;KJ|LHHuA<=tuHD[]A\A]A^A_ASHH\$HL$ D$ HkxHc|$ HHĐ[øHXHcHcHD$`HT$0HD$HD$ HD$D$HcHXFSfH D$$D$HT$thtYurH1[u\11f$HxNf<$t \$H9u1% )f$H1oH [WUSH9M11Tu:1߉0C$CC H[]ÉB HtHܞHøAWHF AVL5|AUIATIUHSHH8HF L$HD$H5ALH:H5H脴["1H8[]A\A]A^A_fnIE$HT$HHL$fp)D$H5)D$ Pt$HD$|$1AUSHHHmH؅uH[]蔻(1S1H=ҿÅx[n8u 1H1T@1HT$ D$ HU1IHcSHHH0THDHT$ Ņt H[]ËL$ 1H=HLHH9ظ"CHHhHHHcHcҸHHHËGHHc؉FSAHE1Hc.1H tHcH [oHH=DD$D$)$( \$t~$HXHMHt$(Ht$ HT$0HT$`HL$8HLD$@MLL$HLL$`HT$H~Ht$HQD$(HvH[HXAWAVAUIATUSHHt$薹D8Hŋ07u "1Ld$@Lt$05H|$(LHD$(],LLHLH PHtL$QMPHfLRHOAP1LL$DD}H LHcHT$I)HLLxXHcL9ÍCH tHcÃƄ Lc='1LL?H 6HĈ[]A\A]A^A_1ҾA H5HT$HL$m@HL$HT$H H9-E thw&Hs=V H5jzyV/(H=M1ϻŅHcL$$ډH5՝HL)1 9=1LL>HHcT$$H51)I ATUH-SHD%tHKD[]A\SH]HHt$ Hm=I?9H7|$ 1lH[AVAUL-ATAUSHHHt$ <L HtfH߾HHIHH$B3-D%t x)Lm|$ 1H[]A\A]A^=1Ҿe?dx H5tATUSH <HT$s v H []A\HL% Ht$GLHT$HL|$1HHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$D$HD$HD$ D$ 0HD$HH?H.HUHSHHHt71HEHHHHCLH8HCDE1HT$H|$HE1H@HCLHHCH@jt$ZY}jtQHD$x89uH|$L"A HD$x"H8[]A\A]A^A_Åu-HSHt$pkDcHHHHD$x HD$xJ뮾AWAVAUAATIU?SHLt$H=PL|-IoH:HH0 Ht,HHK HMPMGDL&ZY"tH\$HH[]A\A]A^A_AWAAVIAUMAATUHSHHDHxIHt$0H$0LL$Ht$…E~ A ANJHHLcHމT$,IăHt$ HD$H|$IHt$ HL$HID7"H"HI9JH3Hc\$,E1IFHNWI>諼I>HH轻IVu2HBIFH@HD$L01Hx[]A\A]A^A_IDHHBIFHxIFHx=HAQMIHHHUHSHHt u&Hzt!t. HzI9s'H[]QuDKQufH)H]AWAVAUIATUHSH8f~t$Fƒ?H\Hv;t;H[8HV HHH)Hv fzu H%HԾ聾IH9fA}t#HCMIFCI]AFAMAEMe IAAEAFAM;fu%I^0A$It$HH%A$AMA$%IID L)HAD$ftzwffuA$HHHwAMAEAfAMIt$AIfAM~(A$AM]A$HHHGMIt$LHM~A$AM!A$HHH AMAEAVKfA~@It$M~@ANDI~LfAFHM~A$AMI~lA?HHTIV8Ltfu)AuHKI~(EMLL@AM%HID H)HCfwft~fuI~M~@tAAF`AoF@1L$AIAAoFPIF(APAuHKI~EMLL@@AMODEMHKAuII~tI~(L AMM~@I~LAMHHHMHsLVM~AMI~A]IF fM~dHD$Em)D$ vLd$ LVGLd$ LHcщL$HT$0L$tHT$)D H|$E1LLADI~t.H}t!HEHtL0Lu1H8[]A\A]A^A_LuL~߸HtSHgHHu[U1HSH(H\$Hr1H1HH|$uH}H([]ÉD$ D$ t1SMcHLK4HAN~1[HHcE1E1E1ɸ4H-HSHAH HHLL$HDH[AWHdzAVIAUMATIԺ UHSHH(IHt$LD$HD$HD$8tZA"AAIGH9D$rEMtpH5xL{u9E11H|$H@UyF vH([]A\A]A^A_H5xL*u׺1LI$|$Il$H]ID$H@ |$AD$H0xt ID$1MeHxSHۦA H HHLL$HDH[AWAVMAAUAATIUSHH8HD$$D$,fDL$ f|$"HAIHAMcL)L9L)I@H5hwHHKHD$HL$HL$H59wHD$IL$HYHEl$LIl$IHAID$I$H課H|$ EIH11P!ZY}r }"H8[]A\A]A^A_MH5vLD$LD$tVLMHDH5vv붸AubHߺ 1蝷AHAH9t?M&1uH5%vHHL$Ht$辱Ht$HL$@6HHcE1E1E1ɸ3HsHHIHcHcHcE1ɸ7HcLHdH%HxXtHHSH8n%H tIHtHH5Bt1[H=@}H evHۉÉfYAT1IUSH0xJHǾ1l$Hc¸xHLxH0[]A\̍8t1AVAUATUSH0Ht$ H\$1H1HپH xyD$xD$HH.IHtZDd$LMt$IIMIHD$ HX L9t6CLuHLHHES CLLpE1EHE|$ 1H|$ ȌiH0L[]A\A]A^AT1ҾUHSH04x9HHH߾31(Hc¸xD$1H0[]A\HHt$ ¸tD$ HAUfATIUHS1H8)D$Ll$)D$ U0 wAHSt=HhHHt,L1H謳Ht$HHD$H9t t.t1wtt)tuBHD$HHHD$ HD$ HT$HHT$HHT$(HD$ 1HHwAHHuH8[]A\A]HHw Áw  Éy=@GÉ%Éy=GSAHѽ@HqAAH߾HEP1}XHZ[AWAVAUATAUSHHH$t tPJaCHH[qDPH|$1DKDCY^D9KH$OHߺ H5u豩s SAC KDKDCC DsAADSD[ C{ KAKA [H\$H\$EtIAHDEARWHVdRHRpP1HH0Lt$1A1L=fpFHAVARASWHVdRH*pP1H@LL[A9LDLIAt t<:tA.H|$HL9rQ踈1HĈ[]A\A]A^A_Hcź::)HL$fTD)IcSHH|HcH襻Ht$H<$舴QHHcHcE1E1E1ɸ21HՑHAWAVAUAATUHSHHHhLd$L~9A t,H{LHHh[]A\A]A^A_ø%H׳IHt II)I?~hLt$H LE1~AtH{L| MtAD$Il$0 v7Ld$A<$uG1C\L|$ HLLL2BD4 w Ht$HHT$:t=D$~HtH{H賮뾃uATu A DAWAAVAUMATMU1SH Lt$T$ L膵DT$ 1LDD$fDT$fD$l$\$ u x]@ LD~?HLI,HH)HvCft7ftHLAԅuHʸH []A\A]A^A_1AVAAUAATIUH1S xUMIDlj…tHc[]A\A]A^úMIDͺ11fËȉff>ω>AWAVIAUAATAUHSHHAEtXHHxPPHHcH)H9?HH\EtHH)H~'H{L{tHcHL)H9 L량D)FZH[]A\A]A^A_HcAVHAUATUSHH:HB ILkI|$Il$I fCfCHLuILfAEL9u1Ld LxYHIHHsHtLkfuHD L9u!HCHHHC@1[]A\A]A^[ZS:Åx[9ZAVAUATUSHAAH9w@tw@GDHD HGHAbEEBDcD9SDD9DHCHA9~*DHsH)DHHCHDsDHCHHsH;AHH0hHcHCH{HH{HH)HAHGHCH\fH{HHGHCHDfEH{HHCH)HHGHCHH{HHGHCHf HSHHKH)H9HH‹CDHSHCDBTc9~|ADk@AugCDHCH]DsDCDJD 1HCHDž1f HDžCDSCD9~C@CD1[]A\A]A^!} }Z؉ÉfË=wQH6Hc׃HHcHHH=ޯH߯"HLHH1UHSHzHHtH0HuHH[]SL]Ht9Xu[E1E1HHHc-AQMLcHH轴HH靅SHcHE1E1H@oHF0HH)D$oFHD$8)D$oF Hc/D$$)D$(D$4jTH8foD$HT$@foD$ HS0CfoD$0C HP[1SHH~x/HL$Hi4$H4ׂCH[HH?HH)H{8&uH17AWEAVMAUIATI1UH1SHH\$|$ HCx1HLLES|$MHZYHĈ[]A\A]A^A_øATE1UDE1SHˉщH1H(hLd$ATjALx0HډL ~(St.u {u{t+H []A\{i\AWAVEAUIATUSHH$L$LD$豧HH衧IHDH=wSL|$HLL蝬IT$I|/HD,.膬HL$4$ET$LH[]A\A]A^A_øUSHHH|$t$HT$L$~9AHT$HL$Ht$LD$x|\$ttHH[]H|$0Hl$@HL$8At$(HT$(Ht$0LD$,Hl$8D$,x%Hc\$,txHcT$H|$H9HN蔫댻HeE1E1bAVE1AUATUSt7AH9FAHDH@+HxACE9u[D]A\A]A^EDDATAUSH`HoHF0)$oFHD$0)D$oF D$)D$ T$(D$,u5HHIcHcE1jE1.RH6ZYH`[]A\Á wTH\$@Ht$ Hs|$(H\$ vHHߋBvHHHH)HpH9tH'w H1WHEHHcAQ,MLcHH蠯HH退1HIHcHcHcEE1ɸ6HcVHHHcHcE1E1E1ɸ01H-HH1HT$ /x D$ HøUHcHcHcSE1HE1E1ɸ)HŃtuatYE1E1E1Ɂ)HcIŅxDtHcHtIcHHchH[]HcYAVHcIE1AULcE1ɸ5ATLcLULHSHH"Aƅx [D]A\A]A^jut]utۉIE1E1Ɂ5LLHcH~Aƅxt"AHHc}LHc}LxAHHc}LHc}LQH(LHHD$HL$HH5njHD$ HD$PLL$(AHD$H8HHiH5HLD$H$=GHD$HSHHHD$Ht$Ht$HH=:uHxHH=HHy1ۋ|$1HH[MIHH1MIHH1H=˨HtHRHHHH(HHD$HD$Ht=HL$HL_HHT$H50RHPLL$(>@HD$ZYH(H5XH=ZV^H(HtH(1HD$L HD$HD$H HPHD$ PLD$ HD$H8H(L H 1HD$HHD$HD$PHD$ PLD$ HD$H8AWAAVMAUMATIUHSHH8HD$ Ht$HD$(LHL$ MLD$(HDI}H|$ AtgHT$(I9fHnHHfl) $H|$ ofo $HC(fHnflH)fHfHk(oCffC辘|$1xEu0H8D[]A\A]A^A_IEA"艘|$1CSqD MIHH1MIHH1H=MHtHPH4HH$HHHt,LD$H HHH5ΉCHD$HH5UH=IX[HͥHtH1LL$LH H|wHD$HHLzH {1LL$HMHHD$H1ATIUSH#p(HHMHt1LD$HLH5A2EHD$+H[]A\ÿ譖HHtNAWIAVIAUMATUSHHHt$#IoHŋIE;.D$/H膛HMID$dI9H$1HپHVH|$-}H|$=w 1hs…EtuhH5SH=V&ZHL$@HD$HL$(HHT$H|$(H5衳D|$E1E"" EH[]A\A]A^A_1H|$@T$HEHD$@HHD$(=T$uD$X%=t/Ht$<T$|$|$<1EyH5RT$+CT$HHD$뫋Et B1;E19 AHT$t$LPHtzL-HtmILEuLLHHL$ 苈HL$ AuC<&:u9 uIHt$L&BtHD$H|$(IE51L$MH|$(H|$(D$""11AVAUIHATIUHTIMIU1EEH5TL[xHIE1L5THtEH HtE1E1GWH>H H FH H HFHH‰H fQHH!HH5tH?HH fHn\_"HH=[tHH=GtHH5=tZHHH="tHH5t5HHHH=sGHH-L-QXHHHޞH!imNA90Љ 1ЉV,1Љ1Љ1UH-SHH CHH[]魡AVAUE1ATUSHH-؟AIHH͠ssH 4s Li Iv"I?veIvlIvp?A?1E1ɉADHCHrVsaBGsH KD ȉ[L]A\A]A^úA믺A뢺AATL%UHLSrrLH^r ԞHESUH?rrƁrSHC[]A\UH-SHH肟 nrH=qtVHcXrLc aLHLA0B41A09D׃9Dlj!r+H؟HH[]imNA90ATL%fqUH-ELSHH!HLH[]A\H3|$ H|$ fD$ HÅt H=2JHH=dH%HǂfHn‰B0fluHǂuBt!H=ƜuמH؍H=轞USHH])H=9H3Hl)HcoHĈ[]HklHH;HzoHUHAWAVIAUIATSHH=KHH,bIe;t]/HI褑HtLLHHe[A\A]A^A_]MHSMHLD5H=vA$$뿾LHE HUEHHHDHMHJHHMHHEHEHeȾ:LH)}HHHEL)H9r'9uEHeȅtA$ uLyHeLHHMHU蜗HMHUHI9/HHMH<HUuLLHuA$HM tttHeE9LybHe*HjHAUIHcASHBH5LHH8tHcmH8[]Hl$LT$HHT$HHc8t AWIAVIAUIATMULSHH(Ht$D$PL$L$HH$Hl$(fvHt$1HL$L%|H$H\$ )D$ALǚHu}HٺAH=1H$ |$$jL8؉D$|$ ID$u>Mt9A]3HH$*HH$)LhbD$H1ҿ|$13D$H([]A\A]A^A_Ë|$ Ht$eHt D$[Ht$ 1҉D$ @ATIHUHSeHx)Ht?HH-+HH{$HCID$HHtHXHC1I\$[]A\ø xPUH(SH苞Ht/@XHUHHtHBH@HE1H[]ø É xSATI(US/Ht2@hXIT$HHtHBH@ID$1[]A\ø ø xPUH(SHҝHt/@XHUHHtHBH@HE1H[]ø ø AWAAVEAUIHATIUSH̓Hx)\HHtK@Hx$LhDxDp BIEHHtHXHC1I]H[]A\A]A^A_ø HHtSHHHu1[1HG11Ëf1ËG1oG1oGFoG(F oG8F0oGHF@oGXFPoGhF`oGxFpo1oFoF oF0oF@oFPoF`oFp1*Hø&ø&ø&ø&w71Éw1o1GoFGoF G(oF0G8oF@GHoFPGXoF`GhoFpGxo1oFoF oF0oF@oFPoF`oFpSIIHHPHɹ*HHt)HHHLLH$.HP[HHAW1AVIAUATUSHhH$8D$ HDŽ$0HH M|H$0L$HLL$p#LH#Hl$0HR$1HH&L$L%H$t L$H$pt L$H$HHHJLH HH|$1HH5CLD$~b`Lt$ fHnHbH5CHD$(flL)D$HAEudH\$ |$1Hy &\8t1L"1L"1H%D$ Hh[]A\A]A^A_1Ln"1L_"1Hs%[D0H1ҿ-HHLcjE1H,HeHHHHcHcjE1E1H¿=HdHZ:RHdUSHHH<\t*<[tF<*RA<]u7MdD|$pEjHcD$t?RPHlxT$tE1LtHD$@,L`HĈ[]A\A]A^A_A|$]H|$ IHL\$<A9HI%AD$hD9|-DA9u!AAD9| D@9tH|$Ll$XDt$`Ll$XDt$`HtlfnD$Uf@fnfbfffbD9DDA>V>tՉi@D$hg E1HD$H\$P@4tIH\$PLl$XHDt$`Ll$XIH Dt$`AD$fHnflA$LIcH [qHLl$XDt$`Ll$XIHqDt$`AD$HD$fHnflA$D$t HL$11H H9L1IHHcT$tHt$xHH}HcD$tLd$I9L%MHD$LH8IHHA9D$pMLt/AAI9}fnfɉfnfbfffbAHL$11A0LL$A,AAHD$IA H9LL$HHPLHLxMBIV1 ATUSLgM!I<$AT$1AT$9sQHH)HHHxtHPHtHXpI<$HH@0HtH?pAT$I<$Ht*pI\$Hu %pH8H{t H{HuI|$oIT$ Ht9AL$41oAL$4IT$ 9sHH|HuHoI|$8HtoI|$(HtoI|$@Hto[L]A\}o[]A\AUNIATIUSHHH߃kH\t7uHHPoLLH2H1UH[]HA\A]Äu1 M9%| H9~DL LEuM9|~1øATUSH/HtnHAtHD;HHtHxfHHtHWHPHGHtHHAWE1AVAUATMUHSHH(L*H|$Ht$HT$IM9t'HH|$IHAԅuH(L[]A\A]A^A_HL$IGH|$HHt$HLH(H[]A\A]A^A_HtAWAVAUMATIU1SHHL2H|$HL9tHH|$ILAՅuE1HL[]A\A]A^A_Ht9UHSHHHH{HHtH;HH[]ThATUSHt(HHIHtH3HAԅtH\1H[]A\HHHrHJDBHvHy)E19UASAJtEJLN\Htsy1ۍoMtA[9}qN\N\N\N\JTJtz~iHA[]D)Hu1lOF9OBD)ý1MuJLHJTj~AUATUSHHH4$HHIAHt0H3HAԅPHcHH\JI˿ afHHtbH(H@H@@AEMcHcJ,HHII)HL9tH}HDuHH[]A\A]1HtlAUATAUHSHHt<1El$H{DHDHH{DHDHHH[]A\A]1HHcE1HjHE19wHHHIH1Ht oH)$HHAHjvHGH(H(HL $IE1HD$MtAoLL$)D$HIHcHARHvHGH8SIIHMMIpLH xnH4ׂCA?BHHH?HH)HHL)H9~FH$ILD$HHcILjLٿvHFZYH[HFJ Hi@BH)IE11HHoLgLoLw L(Hg0g8HHoLgLoLw L(HT$HW0H$HW81HA1H5 HA1H5{ HA1ҿHHc$HFHHHcHc>HEHÅxH=<HË?AWAVAUL-_CATE1USHH,H$Cym;L5DD=CH o!HŋD$ HtRL$1HH5!L*xD$ ED=tCL5CEu(H[]A\A]A^A_LqAH#HHL[]A\A]A^A_USHHHcdH%Hcx0HDHH}HĈ[]HHc&HDHúH52pmATLcUSHH@HHIHOHoHHHcHHH =Iu7Wqu-Ht$ A1HHD$ &qAtI,HHT$ 1Vp $IA H$IpHH|$HD$HbHD$lHHT$ HtRA LHt*u&HD$ Ht$8H{HHD$(lHc8CH@[]A\A LHA LHATGUSH vG?wtH []A\P29JHl$L%soHT$HH4$2LpHT$H4$LZqH9H []A\ÍN?w vHH 1H8HHHtGu Hvu!H BHb8 U8HH#H1ÍN?w vHHH!1H8HH1HH1USHHHx1H1~HĈ[]øUSHH|$H1H$DŽ$HĨ[]ATU1SHH$H߉ E1҉$HĠ[]A\1H?ÍN1?w HHHHHA1H$H$HH$HDDŽ$(RHxH$HHHH H1U11SHH9H1H-HĈ[]HH?HSnÅu[)6AUATIԺUS1HHYiLd$L$$D$sLD$7HcHcHD$HS?LHH[]A\A]USHHHx1H*HĈ[]ø@ø#ATUHSH@H0HYHtoH$H$H$DŽ$H$Hx_H$HHxCHtH51H$:xH$1HHDyHH@[]A\H$A1HwHEuH1ADHHE1E1j1ɺlH=HATIUHSHHLHE1jAH޿lZYtHcm=[]A\S1HHĀHx $1H[ø1Ht G@H_PHys@H߉H[PcHHHD9HHbHHHHH։IHZHHcHAƒHHAALAƒu|Hl$DHT$HqHt$HASAu"u*LHA+Au!Ht$HS@Hu D$H[øHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$D$HD$HD$ D$ 0HD$"7HSHy'[E#υtH[HHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$D$HD$HD$ D$ 0HD$6H11øu 1H øu 1HËHG`1H tHG(H+G8fHG81G GHW1HtHH+GHWHGH9t H)HHG1Hwà ATUSHyH߉S t0[]A\HAH߉S EtH4H"HShHtHKpHJpHSpHtHKhHJhH9t!HGH}GHSpHUHSHyH[]]tHUHSHyH[]]tHXATUSHtrH1HC8H9C(t11HSHH{(HsHCH9tH)ƺHSPfHC8C C1[]A\H)1HtH=)kHx)HtH=l)Q H0HAHC8H9C(t H( EtHoH[pHt yHC8H9C(tH > Zu @HH'U1H?SHHuMHCH;CtJHPHSD1@tAHLHtHD[]HALȾ֋xt%dH%;B0tLHGH;Gt HPHWwAUATE1UHSHHyeHCH;CteHPHS8H?0HSHtUH{ H)1Ht?LkHHL)HUHCEuVHL[]A\A]AHHt$HE1HD$HH~HELHjSH+HxH1[øAWAAVAUIATUSHHy>E1~ AMB Љ1AAELHEAAB ЉEtHHkLH)H9HGHOHCI,HHCA)H;CHHHKALb< tKEtFH{HSH9t]H) 0HsIcHtH)LHhH9HGHINHkMtA$LEu9H[]A\A]A^A_IH,xLo1M9ttIHHD$HD$AVIAUATUSdL$%HM$~;II$IvIVH9t?H)H|$?rIVHcȃuIF#7HD$HIVHHD$H\$HLHx []A\A]A^Hw(LL9rIFЃM fHE8E 1HHHB HtH:1HHHt$w$HHHt/H8Ht$щHHID$HCH/_ATIH=UHS6&>H8HH1HǺ4H{(HGH;C sVixHHC(Lt$ L;iy M$H[]A\A]A^A_LcHLLL9rATUSHy []A\H,HAEtH[]A\AWAVE1AUATUHSdL,%HIH|$H$ymHLd$1CHIH|$tZL|$1ɺLLfHH@Hv6HHLH9sEuHZAHEuH $IH[]A\A]A^A_HAWI1AVLIAUIATIUHSHHLD苁D$yIHuLB HUH9tFH)LL9IGHT$?HT$HUIH)HD$H"0H)IHt?HuHLHU@Hu؋T$uL1H)IH[]A\A]A^A_ËD$uLHAVE1AUIATIHUSHŋH5MLL&IHxxsx9@xLA $ID$@HC@ID$HHCHID$PHCPID$HCǃHǃEH[]A\A]A^HMARtHc{xH?Hc{xHHcHHyH1똉3+LHoiHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$D$HD$HD$ D$ 0HD$HATUSwZHIՃt_HC8H9C(t11HSHH{(t=fLHC HC8SPfHx#1C[]A\ HGHtH+GI)ATUSHHy H[]A\WT$ H4$T$ H4$HA7EtHH[]A\ATUSHHy H[]A\T$ H4$)T$ H4$HAEtHH[]A\H61>SHGPHtHw8H9w(t!1HHxHKHtHSH)H[úHK8HtHS(H)HATUSHy []A\uHAxHEtHH[]A\ATUSHy []A\F3HA6HEtHH[]A\dH%@H $HHuHtEHHtHHHHHtHdH%HHLJHLJHHHtHHËdH %ƋQ09tNxsuk1u]HLJHLJHHHtHH1HHH9t HHڸLJHHt HHHH|$H|$HLJHATUSHyEDDtSHtcEuD~LJA.LJAuDtHD[]A\Hu11dH %HH IH>H5>-HDHAԅuE1AGd$DHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$D$HD$HD$ D$ 0HD$1HAW1AVIAULIATIUHSHHHEHËy0HLIM9t L1HHHH[]A\A]A^A_HLLLAIEtL!HHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$HT$D$HD$HD$ D$ 0HD$pHU1H?SHHuMHCH;CtJHPHSD1@tAHLHtHD[]{HLALȾ֋xt%dH%;B0tLHGH;Gt HPHWHGH;Gt HPHWH1? uXHH H;I tVHPH4 D1 @t"ALH= Ht'DHH= H= XALȾ͋J xt%dH%;B0tBH H; tHPH H=z Hv H;w tHPHb H=O AWAVAUATIUHSHH(HAHT$A օy ED$I<$tFE1HD$Ett$ B ЉHHEL;}sBH"MVHCHH)M,I9sHuM"I$M1H?IMHH9rLHE1HI<$HT$HL$H4$'H4$HL$HHT$tI$HuHME1I<$HHT$H $'H $HT$HtHHmI<$HsL)LHv3L$HkB ЉuL HHHsJ<8H$$3H$HSMHsHCH9HFHCM}L;}HSMHJHKBH{HSH9Zt$H)HsH}IHYHH)HM,I9sH]I$B8D$u[LH([]A\A]A^A_MMtuˋT$HI$L$B*9NMHIuH B ЉHѺ HHH|$ Ht D$ HøH=HH=T5E6H3HH=<56SHHHSpHtHZhHH[1AUIATUHSHHw8Lg(HI)uJH{HS(H/H9sNH{HL1HCHHCH;C rHC HSHHH[]A\A]Hw(LL9s1HLdH{I L$HtHHCL1HHS(H)H<H0Lc(H{fH(HwJHAHcH$HD$HA HD$HHHH9HH)H9| HHAH(HAVAUIATIUS#HH#HH1H0L10L0fHLLLIE~sHǃI,$HEHCXHfHnH=v flHCCxHC`ǃǃCHu ǃH[]A\A]A^{H#[1]A\A]A^1ATIUSHH_(HHt$Hw8H)u1HUH](J"H9ruHH\H HH=t1H[]A\Hw(HH9sH}H4K"HtHUHE1HHM(HH)HI}IEHH)I}IEHLI}I)]HI}HIHLD$HtIHH|$ 1AHHt$H|$ LHLD$HD$hHD$HD$xHH$HD$H$hHHHnAWIAVAUI1ATUHSHHHLLM$Ht HIL)L9LLIGIHLuHLeLH[]A\A]A^A_HI1HHHeHLD$XHD$@DŽ$L$HAWAVIAUATUHSHHHw8LL9tHW(H)HIEI}IA$ADIMHHyII)IEI}HIEHt5Mt0LL9yIUfHHC8 C *HCXHS`fHnHC8HHfHnflC H[]A\A]A^A_ATUSHHHHCHHl$H<$HD$H1HHHD$pHD$XH$HD$hH֪H$H$Ht.HT11HAIcH9sHD[]A\AATUSHHHD$HtqHHHW`HXI1Ht$9HtFHSXH fHnfHnHL$flHCHt#HtHBHCA$ fC1H[]A\HI1HHHMHHD$`HD$@H$HD$XDŽ$L$HHHH=e#HHH=SnHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$Ht$D$HD$HD$ D$ 0HD$PHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$Ht$D$HD$HD$ D$ 0HD$HÉH1AWMAVAUIATIUSHHH|$LHt/IH|$ILILHAׅxtHNd-L)1HH[]A\A]A^A_ÉH H AWxfI~AVAUATIUHH57SH9FHE1‰ø<$-A<0tJH<H5b9GE,$9ENHcHH)H[]A\A]A^A_H|H5)LfInHSHH5H߸H[HHHHHHHHHHHHHHHHHHHHHÃtuAVHcIAUIATL$USHI$$HsH;HH+HL9uI)Mt I6I<$LI9IFHH[]A\A]A^AWAVIAUIATUSDHHt$(HD$0HH|$IHL$LL$ H|$0HD$"HT$LLAՅxwHD$L4H~?Ht$ HcLO$>HT$H|$H+LILAՅxHT$H|$LAՅxHt$H|$(H[]A\A]A^A_ÃMAWAVAUIATEUSHM8H$(Ht$HHH|$0D$ HD$ I@HT$HL$HD$H|$PHt$@2H|$@)LHHHHH|$H IHIE1l$HHHÀ;t9HH2H؀8t5HPHHH[]HHu Hq1HbATIUHSHHt9HHKHÀ;t0HHH؀8t)HPI$H[]A\HHuI$1I$IE1ɾ1IѾA 8u!HH w׃0!FA1AwGA1Av.I9sSЅtWrЃ v ~Ѓ w?0Q)D 0A0A w w HA4ރ v)ÃUSHHZoHHooHHD[]ATUHSHHHI[]IA\HUHSHHoHHv$HGHG'HG/HG7HDHDHDHDHIHDHu HHL1)HHGH)HAUATUHSHTHv_LdL-մLLru?dLHƜt9t 8tغLLp d1H[]A\A]H1AVAUATIUSHHcHPH9r|H)L5(MlLLuYd@L1L#y$t 8tԺLL[]A\A]A^11D1=AUATUHSHHw `EHĘH[]A\A]LdH5MLuûdILLH͛uuE8tE덋G%WO %fnGfnfnfb%0fnȸfbfGflÉuw 1wHhHÅu1HHcE1E1j THHÉ1 T1 THH1THH1)THT$ x D$ HøHHHcTH=H1Ҿ T1Fw T14HoHHHHcTHH ~t1…x u X퍊AЉD9ttxDADAAADDA9tDEyIcE1LȾHu1L뽋xø=tALHuLs AVLcAUATEUHSHHHyɚ;HHI27urof$fH~HxnfH~)$H1EHHE1MjHLk^_ƒtItttc1}DH[]A\A]A^fa{HH+$H)$E1HL1E1jMHXY듃tn륋AVEAUIATAUSHHHt$ &ELDH|$ 1&H[]A\A]A^dH%HHPHGHIAиdHtSAuA9uauAUIcнS1ۅHcۋD9u,E1HHHu1݋D9uuMtA []"vf1GG þYHE t nDH1H=$H="H=#fHG 1G7Ëu1Wt1Ht nDHËu1WHKt HKAVAUI(ATIUHS)HtSL5HLHSL+HCHC LcHkHtHXLH)51[]A\A]A^ø 1ËG1HGH1ËG1ËG$1ËG 11HGHtHH)H 1HHH1Ë11Ë%1Ë1Ë1Ë1Ë1Ë1Ë1SfHHG0GG fnffnxfbfb1[øww1HH=uHw1øww1ËG$1Éw 11t_EHH>u HH1HwHH>u HG1H7ËGx1SHu *1[ø  11H)uՅ~Ht f1GWøAVAUATUSHDoEHAAEe1Hs1HD#…uC HK A9t4 $CtAHLHHtILc HkSLc S $CtALLHt$LL1HL S 1)C DLsuC1C $Ct9ALLHuL1LLS u1 {QD9ut u tAHLHHt B)LHsH/DŅuLcMt}A$A$D9+ $Ct"AHߺLHfIt$I|$1A$KH[]A\A]A^fHc)$ $CtAHߺLHtLtT$ tD$ AH|$ AD$ E1LHu1LHC+ $CtAHߺLHtOI|$AD$ $AD$ALHLLLI|$ AD$ ALHLsi11øw17ATUdH,%SLEHT$ Ht HL$(HJI9E(/HD$(HtHT$ H1AE HT$8HSAAH|$8LHLȾI] 1AM uVIUHD$ I}(D$4IED$0HT$(tgH1AE t_D$Hl$4D$ fAU 11HupIE(AHߺLHuLt1 T$ E1:I} AE =tML0 ÅuD|$1}_1zA}uAE9ظDEALHHuL듉AM 11HuHT$(IUHD$ IE(AHߺLHLȾоt$4t4L$41Hl$41HT$4uL ÅuDH|$(t|H|$ AF~AVAHL$ 1%Hy $tXALHt1|$1}tmHH[]A\A]A^A_AuZAFtLAMFA1ҾLHuLAuAN1H|$ $nAU1AATIUHo SHD$ _ uIT$(11ɾH|$ EW 1۹1HUuAHHDHEt!HtQrt݋D$ HzD$ Ht0HBHtHHBIT$(1AD$ tHl$ DID$AHLHuLĹ1HT$ uHt H{St H1[]A\A]ALHuL1|11ÍFvx% 1øøw% 1UH-SdH%HX0#9u!1HH= 1…uH[]Ëpu6 $Wt AH=LHHt Ã-LËuSH1H5HstAHLHHt[LAVAUATUSdH%HĀC@H{pCAHHxH@HCxHCxHu=HILk8tS8ŃLL?H9[C0LLA@HHL9HpHHxHHDʇPHǃxtALЃHuLоH{H<2L&k8Lt1q諼-ѿt\HSHCfHnflHBHSHPCt?1C8 $ALLHtM<1HkH{HtL;sHt1HsPH{HLUSHHGtHHoWtCt)H<1H1HHs1AH{HkHHHHcVdH%HPxHWHxxHWdH%HPxøW8u1SHHHt$ H1|$ 1H1[1H9fATUSHFHF0F G8FHGhHFHGXHtHFHo`H+1[]A\HƽHHځHHFLHL11 H)`Hu,8 t1ËG0Ѝ1AUA"ATUSHHHvhHIH H9tcK0H\$H1H߾"̻Ht$ H߾1ÅyH衭D(|$ 1~HHD[]A\A]E111L1uAŅtcD(HL8HtADE1/4D(AWAVIAUATIUHSLHHIBpLHc}0tLuHc}0A$L>LpHĈ[]A\A]A^A_dH%HHAVIAUATIUHSH Ht$ V D$ t1Lm8 11= AL1LËu8tnt t~ҋ|$ 1 nt-t(HMtHEpIH}HHt HuP1H[]A\A]A^1;G8t1,Åx't1Hf)))H=o H= AWAVAUATUSdL<%HD$ oH=t LH=c% LwHI9t1H+HL)IHL0HL9tMtH=+ D$ |$ t3AGBt,L%7H=M$LAgBLH[]A\A]A^A_AUATUSHLHHImL5[0t1HcHcLLmHĈ[]A\A]ÃACӋWс?t+t'@tdH%9J0u !G1Á?1H1HøfHG GHt1ËuWt1øAVAUATUHSHHD'DuW D'HY eA D#dL,%EAAu HC IDH{A1҃ILttSIDžt<|uAAH\$ 11AHHD$ nu޸naAuC@u"CuCHH[]A\A]A^sC $DθIDžv#H[]A\A]A^tStStEEAAAAAudH %9Q0tCH{s1EHKuHvC?utAtSDGHdL %DAY0D%?9=?EtAtA€tBIuIǁIJ EHB IDD@ JA9IǁAA uBu}[AtOx*Dу@J w҃JGA@Bt7DHzցIǁAtAuIIHB HJ HrH9tHAIIǁEu1:B)uWEAWAVAUATUSHD7_DDցADdL,%D?A9U0D1AtD%@EHWHG IHH9tHPAEx DoA9t"t G $DHEutIDž(bGbGOHG H|$I H|$^GŅuy#DLALLHtI1H[]A\A]A^A_LGAA EuIDž EuL11It_t!u'1Ëx uAH|$E1Ҹ1D$؉ $ʸw $ 1Iw>t5Yx u,AHt$HT$1؉1 $Ճ'1øw  11tALHuLATIU1SHH tnHHH5A1Ht H 1[]A\AHLHu׾L˺1HtcettH/1H11fHG0GG HtG11ATUHSHunet tStAHu@tҁuCD#DCH1ҾHAsKt[]A\UHSHHu^et tStHuu6tƁC3DCH1HAKtH[]Ë%=t=tJ9u1øø 1DO 179t DGʁtލquԅu Eux11AA@LHuپL11H1øw71dH%AT8USHHĀoGHG0HD$pHt$@)D$oG HHD$0)D$ f)D$@)D$P)D$`f)$脿uUHŸH9HFHSIĸH9HFHFD9ABĉ9/9BÉ$H쀉[]A\SH~fnffnHC0fbfbfKK R1[øwdH%HtB@@z@1dH%w&HtBA@zAu1Hi1HøÅx øAUATIU"SHLHHhHwaIIH9taK0H\$H1H߾"SHt$ -H߾1舢ÅyD((|$ 1HH[]A\A]E111L1Ņt(LL1.Hx o ǝ(AVAUIATUSHLHĀHI`LYHc{0tHcLLL`H쀉[]A\A]A^ATUSHLHHl$t$ Hv`LHc{0tHt$ L|H[`HĐ[]A\dH%HHH92tH2HB1Ht w&HcAuHt HH! 11úuu11 $1B1Ë%1Åx1GG1HHËwDGЩt"Q%ALЉ9uԅx1HϛKHÅ@@AAHOЃLHuLAVAUATIUSHH H¸eu1H []A\A]A^tuStL-HatƋkHKC1HLHA1ҾHLHtǚ(ktJ9u1H蘚 HI1Ë_dH%9P0tATUH-SVHD H:H=H=HH=HD#[]A\AW1AVAUATL%[UH-sSdL4%HXH$H<$HHt$HHCDŽ$8H$HD$0HHD$\1\Ht$,i11H=*11H11LtIcV0H9t1H|$H$E1H$Hߺ1۾AHHD$HqH$IHD$BL1ҿ"]M~u7H?MM9t5Ic0"=LكuIc0HHH$dE1H=AWHA9uHt$1ҿ"HDŽ$T]LAA9uE1 AHA9uH=L|$,1NH|$:[HX[]A\A]A^A_HHHHt HHHcSHHHt$HtHD$H1[HHH11t HøHwH#dH%HHH92tH2HB1USHuHkHHH$uH[]GH=?2tË*tALHuھLHø H1<18IHLMLT$MHHHu1_Aщ1<Ëu$IHHHLMLD$LL$L\$ATUHSHHkxeHH|dLcuGHt$01E1AعLHHD$0HEHtHĐH[]A\øL11Hc!H;%QATUSHHkHc v$HcʼnHi*H!)Ѝ@)xdHHHt$ /t$ IHcKHcЋC LHHiQHHcSHiHHHH)HHcH[]HA\à AWAVAUATUSHHcHHD$ HDcHŋMtHL$11H$H=yHc|$ AExHc|$Ht$1HtD$Hc|$E1HIc=H=Hc|$HcH AA9H較SHcQH Hƒu/HHxH+PHHsHciH [ATHc]USHHH Iu5HHx$Hʺ\HHHH IcH []A\HHcAMcHۂHHHcE1E1j11ҿKͱH豂HHHcE1E1j11ҿJ裱H臂HHHcMHlHUHATSHHtfnfnfnH(fnfbHD$fbH=yfl)$=Hc|$HHO{H(HHHH$HD$‹$u1HHXH{HHHc Hp{HøH1THT$ jx D$ HøH1t$ HT$ T=HHLH {HU SHHHH؅uH[]5q(1AUATIUHSHHu qHH[]A\A]ÉH8LHHUHHx˸"I9tDHt$ HBuH$o?uH$H9L$ uH$H9L$(twHHf)$HT$ HHD$1HD$HD$<5iD$0@BD$8HHHWHyHHHcHcҸHyHÉHfHiCHH2i@Bfn)ifnHfbfb)$mHHHHHcjE1E1HSHH3yHHHcHcjE1E1H%HHyH1HH5sHUHG(LHIHcO0DI1,HPLHVuHPI9LGHP(H9HBHF8HrrtǁRtdt4QtduEuHP(DyI9sAL9IGӉ|yHPHH HP(HPHH(iHIƆHML)LHHHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$H$D$HD$HD$ HD$D$ 0tHt$%zHHHT$łH5X1NKAWAVL5HWAUIATIUH-3WSHHLHH躑HHH,IH@H=w[MIDLL1{HH=w1LXqy(l$wH HrH[]A\A]A^A_HxH=ߛH=SHH=CJH=HHH=KuH=5H&H9t蠮HHAUL-ATIUHSHLHLHHۗLHJHH[]A\A]AUIATIUH-SHXHBHH$HD$HD$HH|$L@AԅujHHH[HtOHHHD$HCHD$HC(HD$8HD$ C0HT$@fD$(HUHD$01Htj1HX[]A\A]@d  cc  (  i1D709vfamulimlGcq0qq3UvuUasvEaUVUrPmXD6q/nVSSp7pNDhCR9071IfIReU@@@@@@@@@@@@@@6789:;<=>?@@@@@@@ @@@@@@ !"#$%&'()*+,-./012345@@@@@./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789j?$.Dsp"8 1).lN!(Ew8fTl 4)P|ɵՄ? Gy 1Ѭߘr/Ḗ~&jE|,G$l iciNWqX~=t XrX͋qJT{YZ90`*#`(yA8۸y:`l>w'K1/x`\`U%U攫UbHW@cj9U*4\̴ATr|*oc]ũ+1t>\3֯\$lS2zw(H;Kkē!(f a!`|H2]]]u#&܈e>#Ŭom9BD . Ji^Bh!la gӫҠQjh/T(3Ql n;zP;*~ev9>YfCoEå}^;uos D@jVbNw?6r=B$7H ۛIrS{y%P;LylO`@ž\^c$johSl>9oR;Qm,0DE ^J3(fK.WtE9_ ӹyU 2`yr,@%g̣饎"2u<kaP/R=2`#H{1S>W\o.ViB~(2gsUO'[iXʻ]=!lJ[-ySeEIҐK3~ˤAb Lw6~д+MەqՓkю%ǯ/[{AI~-%^q h"W6d$ cUYCxSZ٢[} Źv&ϕbhAJsN-GJ{RQ)S?Wƛv`+t恵oWk *!ec.4dV]-SGjnpzKD). u#&İn}ߧI`fqilRdVឱ¥6)L u@Y>:䚘T?eB[k?ҡ08-M]% L&pc^?kh >\D}W7: P tAu8/;21>8TNmO Bo ,y|$ryVw.?rU$qk.P̈́GXzt}K:zfC cdG27;C$CMQe*P:qUN1w_V5kǣ;< $Y,n<pEㆱo ^*>Zw=Ne)։>%fRxL.jxS<- N=+6&9`y#RnfE{7(2åZl!Xeh;/ۭ}*/n[(!pa)uGa0a4c\s9pL ު˼,b`\ndi#PZe2Zh@*<1! T_~}=b7w-_h)5ǡޖXxWcr"ÃF T0.SHُ(1mX4a(s<|J]d]B> EꫪOlOBBǵj;Oe!AyMjGKPb=bF&[$ti GV[ Htb#*BXU >ap?#r3A~_;"lY7|`t˧@n2w΄PU5ai Z .zD4Egɞs͈Uy_g@Cge48>q(= m!>J=+hZ=@&L4)i Av.khq$j 3ԷCaP.9FE$tO!@MpE/f m1'A9UG%ښ ʫ%xP()Sچ, mbhiHפh'?Oz|Ϊ_7әxB*k@5 ٫9N;VmK1f&tn:2C[Ah xN جV@E'H::SU kKмgUXc)3VJ*%1?~^|1)p/'\,(H"m?H܆AyG@n]Q_2Տd5A4x{%`*`lc´2Of#k>3b $;" r(-Exb}doITH}'>AcG t.no:7`L knU{7,gm;e' )̒9 i{f} ϑ^و/$[Qy{;v.97yY̗&-1.Bh;+jLu.x7BjQ满PcKkؽ%=YBD n *Ngd_ڈ鿾dW{x`M``FѰ8Ew63kBqA_^;Z4ٷ,Q+:Ֆ}}>(-}|%rZLZq)GW;()f(.y_xU`uD^mm%adâW<'*:m?!cf&(3uU4V<wQ( gQ̫_QM08bX7 z{>d!Q2Ow~㶨F=)iSHd$m-if! FEdlX [@X̻k~jEY:D 5>ʹrdfGof,ҏ"W##v215VbuZ6ns҈bIPLVq z2E{Sb%ҽ5iq"|˶+v>S@`8G% 8vFšw``u N˅؍芰z~L\HjiԐ\-% ?2aN[wߏWr:./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz          @@@@@@@@@@@@AAAA      $$  $$ " "@H@H@@@@  @@@@@ @@ @ @@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!   !!   !!! !!! !  ! !!!! !                                                                     $1$abcd0123$9Qcg8DyviekV3tDGMZynJ1./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzxjVp $ν|*ƇGF0FؘiD[\"kqCy!Ib%@@QZ^&Ƕ]/SD!7Ç ZEogL*B9q"am 8D꾤K`Kp~('09|eVD")*C#9Y[e }]O~o,CN~S5:*ӆ$5$rounds=1234$abc0123456789$3VfDjPt05VHFn47C/ojFZ6KRPYrOjj1lLbH.dkF3bZ6./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/BD7q۵[V9Y?^[1$} Ut]rހܛtiGƝ̡ $o,-tJܩ\ڈvRQ>m1'Y GQcg)) '8!.m,M 8STs e jv.,r迢KfpK£Ql$օ5pjl7LwH'4 9JNOʜ[o.htocxxȄnjlPxq*+,-./012 34 5 !6"7 8#$9%:;&'<(=>)$6$rounds=1234$abc0123456789$BCpt8zLrc/RcyuXmCDOE1ALqMXB2MH6n1g891HhFj8.w7LxGv.FTkqq6Vxc/km3Y0jE0j24jY5PIv/oOu6reg1./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"(ט/Be#D7q/;Mۉ۵8H[V9YO?m^BؾopE[N1$} Uo{t]r;ހ5%ܛ&itJi%O8GՌƝew̡ $u+Yo,-ntJAܩ\SڈvfRQ>2-m1?!'Y= % GoQcpn g))/F '&&\8!.*Zm,M߳ 8ScTs ew< jvG.;5,rdL迢0BKfpK0TQlReU$* qW5ѻ2pjҸSAQl7LwH'Hᵼ4cZų 9ˊAJNscwOʜ[o.h]t`/CocxrxȄ9dnj(c#齂lPyƲ+SrxqƜa&>'!Ǹ}xnO}orgȢ}c ?G5 q}#w($@{2 ˾L*~e)Y:o_XGJDl     `  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy P ߼@0?YmÇ^?=``@]/_ ? ;_ ? ======?? ???o?????_/>PCx >??|/?8<~~~?_????>????7?o?????pG@??? {? Cd{_??C ꖪ^alnumalphablankcntrldigitgraphlowerprintpunctspaceupperxdigit !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|x< @@@I<` N 0 o @     `8p0/1? @ !`{B ???p@?C80?0?0`?? 8?`? DhL>4?0?? p?????{??        ( ) _ 00 1 x !"###$#%& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\e?f@hAiBj@kClDoBqErFuG}HIJKLLMNOPEW{|}XYZZZ[\\]^^^_`aabcdefghijklmn---PiQiRiSiTiUiViWiXiYiZi[i\i]i^i_iuvpqvwxyz{|}â̤ڦۦjn&*+Nbcdefmnop~}ύДѫҬӭ԰ձֲ y$9Oa8($3&~+*](*?*=EG***.265OK1(D/-)A)+*)C*'%$L Tt&%@?p P0 `З@‰8AVJdp~ A 0  ZuZ0ZZZZZZZu0h` (@  "'Qow|  $++++++++TVVVVVVVV+++++++++[VVVVVVVJVV1P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1N NN$nN1&nQN$PN9S1P1P 1P1P1PS$P1\{\{\{\{\{y\{\{\-+IHx\{ +(***+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*+++++++++++++F+%+UVVVVVUVV$+ѲѲѲ׃1P1P1P1P1P11P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1*++++++++++++TVVVVVVVVVVVVTVVVVVVVVVVVV *+++++++++++++**++++++++++++++++++++++++++VVl++++++++++++++++++++++++++++++++++++++++++lA++VVVVVVVVVVVVVV,V+++++++++++++++++++++ l%%%%%%%%%%%%%%%%%%%%%%%%%Vz&%%%%%%%%%%%%%%%++OVV,+VV9++UVV++OVV,+VV7u[{\++OVV9++UVV++OVV,++VV2Wo~~-~9oW~~+++++++++++++$++++++++++*+++++VVVVV9*++++++++++++++++++++++++++++++++++++++++ɬ N1$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1PSG++++++++++++N1P1P1P1P1P1P1P $P1P1P1P1P+++++++++++y\{\{O{\{\{\{\{\{\{\{\{\{\-++y\{\-y*\'\{\{\{ \{\{O*++++++++++++++++++H*++++++++++++++++++++++++++++++++++HVVVVVVVV+++++++++++++UVVVVVVVVVVVV$+++++++++++VVVVVVVVVVVV$++++++++++++++++VVVVVVVVVVVVVVVVV*++++++++++VVVVVVVVVV*++++++++++VVVVVVVVVV+++++++++++UVVVVVVVVVV !"#$%&'()*+,-./01  `0 `0@,$ P!?@??x`?'{? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV?= >!  @9#!  @  =` @0  \?@fd  ?@ x` @<;@!|<?D`0?3 ~f0@ !@ n`x& @\@ <0( y~m~`< m  1%[B/SETdQsNFe]+8l{!5GVo /F`n 8La9I^No error informationIllegal byte sequenceDomain errorResult not representableNot a ttyPermission deniedOperation not permittedNo such file or directoryNo such processFile existsValue too large for data typeNo space left on deviceOut of memoryResource busyInterrupted system callResource temporarily unavailableInvalid seekCross-device linkRead-only file systemDirectory not emptyConnection reset by peerOperation timed outConnection refusedHost is downHost is unreachableAddress in useBroken pipeI/O errorNo such device or addressBlock device requiredNo such deviceNot a directoryIs a directoryText file busyExec format errorInvalid argumentArgument list too longSymbolic link loopFilename too longToo many open files in systemNo file descriptors availableBad file descriptorNo child processBad addressFile too largeToo many linksNo locks availableResource deadlock would occurState not recoverablePrevious owner diedOperation canceledFunction not implementedNo message of desired typeIdentifier removedDevice not a streamNo data availableDevice timeoutOut of streams resourcesLink has been severedProtocol errorBad messageFile descriptor in bad stateNot a socketDestination address requiredMessage too largeProtocol wrong type for socketProtocol not availableProtocol not supportedSocket type not supportedNot supportedProtocol family not supportedAddress family not supported by protocolAddress not availableNetwork is downNetwork unreachableConnection reset by networkConnection abortedNo buffer space availableSocket is connectedSocket not connectedCannot send after socket shutdownOperation already in progressOperation in progressStale file handleRemote I/O errorQuota exceededNo medium foundWrong medium typeMultihop attemptedRequired key not availableKey has expiredKey has been revokedKey was rejected by service d'@B  !"#  !"#LC_CTYPELC_NUMERICLC_TIMELC_COLLATELC_MONETARYLC_MESSAGESPQW+J= X>?      !"#$%&'()*+,-./01234567      012345789:;<=>?@ABCDEFGHIJKLMNOP6!%&'(VW$#RKLMQ    ,-.>/?<DFF;)* HIGGEAA@DEBC<=     ]Z\[]YXIHUTS123456789: +,       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUKY"[*ED3(,/M/!15)F-!)/E"/Y/<"F///&6&B%"*(H /G /DOH+5O,\% / /-,G /UR%/>=E*.).///*/QFQ*[\]A#-///,-///7O//)%$!/4(F/!/D!@-) /#F"N"/&J#/*?KY('8PF/ $K&%/'A- &V0#")/+B#,-!(/,$/&/M'/4//2/0/!)*/./R'3/+/B-W,/1/4/-/, 4X*M(S-7)!C28/=/;/6/!9//?/L//&(G/O)K/E/N/1 #;&&?M/<$B/UT@/9H/N),"D/PA/I/C/0-J/ .EOO/P/T/-/)S/R/V/U/C#QW/$!D#UX/Y/[/*EV'Z/$",]/0\/#\0.00%[ ,*0-000- 0 0 0 0') 00 0S0005/0]0,8+000000SZ"GVM0'+%$X00=$T0]% 0 0 'W.!0)!P$R"0#0A%>&0\%0%'0ME(0 *)0*0+0H+.0,0+-09(/00010>$50304020B60I+C-7080990["-?$$1:0S$;0=*G[!=0C%>0?0 @0+%Y/'A0@$.B0 )9C0E0D0R-H'+)F0W,G0H0]$I0]SJ0(NE#L0!NM0N0 K0P0*CO0T=L&S0Q0Z(IZ0CT0R0. V0U0#?[0 -W0\0Y0X0.-X"S-T7$D11D- .1Y115*#,8)14O%1 +1F) 1  1/ 1   1111:Z=+G+V%P)111111+*[18 1:'1111(GD%1H 11@"1'#1;'!M!M%"M&-*%1I&1'1 TL!0P,*1)1 +1P+,11-[-1/1.1>=011121M31S*9,/ '\&GTU'61"0 \$F:1"]! ;191#E!*OE)<1=1(%F'>#%+X,&$]F1B)*<'E1=@1A1C1D1:@ )B1>1B?1.Q)G#AOG1<%K1]UN1L1+I1R1M1P1%+Q1S1U1O!.J1H1T1O1W12Y1]12Z12HX12U2)(2[1V1\1'2V222H* 2 2$ 2 22A$ 22,222"!2N!22C+22222 2%2!22&2 (22\""22 MD#22U)2'22 ) $2S#-2+2302*2.2,2+/222725242"$123262=A2[=2;2<2>2 8292Y@2NC2?2B2 )4%'E2D2$F2I2H2G2&J2K2M2L2O2R2P2N2Q2S2T2U2V2W2$0[,RW#"X2.=Y2&P[2Z2?)\23]233V?33339$3>." 3 3 3 3C0* 33 3"39#3A33333333333C*J333!3&G5("3\<&OJ8*%W.! 3#3#!$3%3'3H# S@R)K'$E-3)<-S)3 ,3B$($C$',#((3U$*3&3/.3- /3G)\ %#13.*2373)63033353()83$"TL:393G;3=3<3?343A3@3>3-03 B3LC&:#D3C3E3F3G3H30)I3%J3,(1'!K3J++M3F!$!6(N3O3ZP3/Q3R3AP?%S)V34 U3:*T3D$X3W3Z3Y3[[3]3"\3)V:$44&='0+& 4$,+ 544$!*)$4D*) 4/.' 0 4 4 44$+(X0144+444 49)C44 4 .+&447(44+=&4(444&44X+4$4!4C" 4"4#4%4&4Q(4'4)4M,4;#$*4-4.414/40412434Y!445491+(64774!84594:4;4=4>4?4O!H!6 E$G"I#T)!1J,@4;*B 'A4%,(CB4R1%+C4D48(F4VE4J4(I4G4K4H4 &,;L4-M4O4]"N4Z/!VT(K,P4 Q4R42!1S4% T4LU4V4?+W4%X4Y4; S%3W'&(Z4N[4].%2\455\]4$!*$'7 Y,555%555S 5 5  C 5+1!855> 555555% D555V)U)F$535Q5I!5"555&5%5$5 55#5W)*5'5)5Q,(55R+5,5-505/5.5G$5652515354575E-855595?:5<5;5=5>5MCB  O?5)@5+"&A5  "13:( 'B5TE5#D5C5F5J#B4)2!#G5H5N*K5J5I5\(R59*L5N5J*M5O5'P5)Q5)&S5T5 U5#,,UW5# >'WK#X)$ ;(X58$!*L#"M&,Y5Z50&[5V- .]5\5&6666(66666 6 6 6 6 6CM#6YU&6Z%:)6 .6)6//T%6<#Y6)/"N#N++666D#6 (%"66666U$ 6!6"666#6 (+(#*($6%%6&6Q+?')6\ (6'6!3!-6+6*6-DX,6+$%06/6.616E26[(:36X' %#$46  (V&565**]:6H"76V 796&8666Y<6B6H6@6;$E6<(?6D6F-64!=6=G6 DA6WF6C6I6K6U6S6P6O6W-Q6YX6J6N6>6YR6T60"L6W6V6!E"M6Y6\677O#Z67X77]67F ,87& @';6 77D+7H$ 7O76%&. 77Z*3 779 [6%!7: 777E77777[+Z+7747Q7"7!7&7'7%7(7 7$7)7*77[#75!777H)-7.7/76757\*37$07-27547+71787#,7<, ,;7?7] X-@7=7:797>7)%%A7<7B7ZJ7H7I7G7E7D7K7C7M7ZO7N7#R7P7F7[Q7U7T7V7S7W7X7Y7I)[7Z7 E[\7+]7"K8@8N888886!,@+*I8OMA'I,8&!)P! 8 8 8 8 8)=(B'88888#&=,888I$8=%8'Q!C' 9Y)P#T*8I"#8"8$88&8"8!8N&8\8PR!88: 81&Q'F(8-8)8\.8H8\+87,8#'8#R*8"Q#3'08= ! 1838/8@)#; Z)-?8>8W]88G%&68< W;858:82&48<<8 --"98;CE 78$&.#=8> @8B8!H8C8E8 (R#F8 ,', D8A8WFG8(,K8!R8L8I8P828M8Q8!'J$J8N8'P<V8$S8?*T8U8-+A\8Y8X8&%$Z8[8N($&P/*(9]8),999? 9899 9 9$ 999999999P9999O899W89989999 9][)-"9%91(>$9#93&&9(9'97%(S)9$>(*9+9,9)<4%+(7D'"',$ -.9//93,?(09!&":19\)V;492959-39Z69!79Y9989:9;9Z[%"K<@ ;<9@9?9 >9+ 6-E9&4E*QD9B9C9J":I9]G9H9F9K9J9O9P9L9M9N94'@()Q91"&R9V9*S9U9T9J'"$W9X9 #P-"J)*:Z9]9\9Y9:=%[9:K:*,W&::::)' : :PA 71  7!&Q/M ,])]( :R# :.* # :[::9++U*;*:J0*:::X?:::XZ,(?!<R:-$: !:Q<+::G,!:4&:K$=9A9.&& :#'&:Y':#:":.L*2-F*+='.%:T$::.+:):,':-:3:'! )5:(4:O&*V2# ,0:/:1:.:6:,:*:2:(:K"W+%SN* -#)%(Q 8:[::S@:=:R* ).;:D*L$9:%<:>:, *A:XP*B:(N:C:T:D:!-K:>&S:F:H:J:I:E:P:L3G[,G:S# ?:O:@M:Q:M$];(+V:\]:*;;;X: "N$ ;[:;; ; ;/.U:;7W:+\:&#R:;Y;P;Y:;;Z: ; ;;-%;;;7#+,U(;)!; ;!; ;N%;I%#;;';<?&;*;;;.9;";F<3;.6;5;4;1;%;B;$;7;/;*;';(;0;S-;'#C +;&;);,,I*.;8;@;9;F;D;?;>;/#D <;:;A;G;T'M;H;K;E;S"(;;C;.+W;J;>2; O;V;XQ "L;Q;U;+S;*%R;T;N;P;?("[;Y;HX;<7:Z;\;]; <,<<<5<<<-"< <O(A)#.T/Q-$<%<=<@<@+A) =(=$H0#=!+=1=L@=:=S.$5=>=7= !.=0= A=<=4=;= +9===/$"3=,6=/=Q$2=8=0.]*B= 'N=?D=-!Q=MO=C=I=K=.,F= $H=P=J=&+E=]=IG=L=M=K!9!U=[=Y=$>V=W=?=X(V.S=>HE X& Y-+1#Z=\= >X=R="H> >WB@> > #>8#+>>> >>> >>>>!>>>>"$>>BX!>&>>>>!>>I&=S,> >T!> >HN$>(>&>">#>'>%>-(->*>)>,>3%.>T"L!/>1>0>T=2>F%3>/S$C=1.EI5>4>8>";>6>:>9>$8T-=>?>>><>7>*A>@>JC>)B>+& %Z-I>XE>J>KH>@&D>G>'0'K>0YN>F>L>/,O>S.P>Q> &S>T>&T$V>X>4-U>W>LR>:2Y>F [>Z>81\>?M>]>?Y&????=#??? ?>B(K+ ? ?5  ? ??1)&'?6& #?FL%++.1* )?"%?3???????''?T?????0 ?H \"?#?!?L'%%? "$?.A&(?*?'?3+)?+?#-/?.?U" &-?,?,,0?MUA1?2?4?"6?5?7?,9?8?;?:?-+I@G-=???@?0?C?MA?('B?]?H?DE?\,-U!G?I?5-6[')&J?L?O?K?N?I,P?OM?;-S?SQ?T?F?R?U?V?],W?X?D?Y?#Z?[?\?@(@@@@@@@2( @@ @ @ @ @@@X@@$2$@X@0,B)@#$,"*"1 #G@@@@@!9@9 ')'-@@;" ' (@ -,@@5' @!@:U&@#@L%"@)@$@%@(@'@(! *@+@,@.@-@56@G'0@2@4@5@3@/@1@!((8@7@9@V$:@*#<@-;@H A@C@D@3"B@?@=@>@@@G@E@F@H@J@K@L@M@I@O@N@P@$-S@Q@R@A]+))U@T@V@W@[@X@Y@Z@\@]@AAA'/$AQ&(AA $#AAA A A A AH' AAHRAAA A5&>*-6AAAO$<A +A%6'AAA;+4+#I AA)AAA\'&%A"A+!A#A$A A&A'A#BD"(A)A,AF#%-A2**A+A0A/A.A2A1A3A5A4A,)5%-6A%7A8AA?A@A+AAO+BA-"I&J"CA/DAEAFA4HA5$5-**&6$;JA*-$'LANAJMAU#PAKAI'K1.OAQA*)8SATARA-ZAYAVA\AWA7'UAXABB@*]AJBB+B" BBBGAIA BBH-1 BB,BB# BB* B B &,(6W$BB(B7. B1V#)BYBBB&BBB82$%CB)"(BJ'$ B!BH& B@"B-;"BW##B& +($B%B4"&-'B&BN)BO,B*B3-+B%QE)-B3*/B0. .B0B1BV2B.4BIE5BT6B[,%?T7BA"J 9B;B8B:BB?B BBUAB@BDB=BEB-FBGBS3IBHBJBKB-LBNO.MBNB6%OB"PB"QB0<"'RBCUBGTBCSB/WBXB $YB=9C([BG!VBZB\BZC ('X$9CC']B="Z$Y$UCC C C C C CCCC.)4CCCCR&+CCCCCC("\'C'@C.'C2):"CCCC#%%$C#C C.)C-C*C&C'C,C!C41(C"C+C1C).C/C0C3C2CU'4C[-L)9C6C5C18C:C7C>C;C-8D! D1D ' D DD/ DDJ DD)L,DJDD\$D DCDDDD0!DM %D!DDDY<D"D&D*5+5#D$DD"D)+D:K'L /-NMD'D]#D(D*DX#-D)D3)**+=,D\-+DNK%.D5D/D6D2DZ&)4D1D7D0D#*+3D?D;D>DE]-AE@E?E#BECEDE.EEFEHEGE'X%.'JE2 (KEIE-3GM' "*NELE-.HG8&>SE"7&:!UEQETEOERE*4\PEWEXE%F&H'%. +VE32YE[EZE\E"&#FF]E4D(FF/2.FF FOFWF F#) ;!FF F F F0FFE(K*(FFF#*FF FFFFF&FF$FF F!F!#F"F%F&F'F"H(F6-  I6")F*F+F,F-F.F/F 90FD1F*2F/3F=); 7P( 4F15F+'CF7F(!T&6F 8FY#:F9FF.@FAFBF(-DFOEFFFGFQHFIFF(&KFJFMF-&#5*<;LFIPQFI-G]AG/G4GM,=G4, -W"JQ(CG%"MG5,BGHGKG +NGGGJG*.RGYGQG"0G-)+XGWGSGTGVGPG4#UG]!")ZGH8']G5(HHX(\G5G[G..%R( HHHHU&HHHHH HQD% HHH H$S+X+QHH-.HT,HHHHH%H,' HRH!HS HH"H( HHH<<$H#HU,A%H&H'H63)H<0T-R*H+HM",HY%B1H2H-H.H!&/H0H:H4H7H3H5H6H78H "5!;H@HH'(9'AH\!KHGHJEH *FHCHDHIHLHJHHHBH7"SH +QHRHMHOHPHNHE.WHXHI ZH]HUHTHI;[HI\HYH#VHG&I,II IIIE,I I IIIII IIIIIII !IIIIIIII!I I9H%I"I#I$I&IK(I'I3=)I0*I16+I4,I@(-II4I1IN"2I/I=.I5I=!;I7I!6I9I0I:II:U-@IAIT -BI,CIDIC)EI-JIKI7IIF,FIHI]GILI)NIMIK *OI[IQIRISITIXIYIWIUIPIVIZIO]I>\IJJJJJJJJ6,J)%& J J   JJ & J/ JJV,J%JJJ0JJJJ0JJJQJJJZ#J65 J%JJV! !J"J8L#J *>UT+) $J&O"9%J(J)J!!'J:(&JK2-J7ML,.,J+J ,".;*J/J0J.J7,N&3J!",6JK2J7JL4J5J1JA(%"<O'"#:J8J+" 19J:)-.;JFJ#EJBJJJCJ?J[#>J-'$K24#K(KX"B+&K'K )KB&>!P'$%K&*K+K.!#$.P*K!;K W%/(.KQ=D& -K,KI( 1$0K1K7/K2K3K5K!4KE7K6K8K:KK1?KU @KAKJ(BK#:CKPU !FKEKDKLKJKGKIKHKKKVOK6PK8MKNK.# QKTKRKSK8,%WKUKVKXKL[K\KZKYK\#LLL]KLL LL7L LL L L LLLLLLLU+LLLLLL'LLLLLLL L5!L "LO%$#L&L%L$L9'L2)L;(L1L+L-LD)*L,L0L.L/L2L9&7-3L,5L4L8L ,7LL6L;L:L9L$LK?L@LAL(BL CLDL1]0ELODFL" &GL4)3#]" W*6=@5)HLJLIL?U%KLV&$LL1NL!+]LPLQL(#?!V %OL4XLULM%?"RL]#2$SLWL?F&+#!VL !!TL.YL@!)[LZLN\L(M:%J8"WM,6)@MMMM%"BMMS! MR+ 9, M $W 6 MMD M C*-MQ'MMMCB3MLMMM,@% *M8MMM$I8.MMMS(3,3$MM M$"M!M2%#M?:&P"QK$M%M<&M'M(MN,*M)M9R-ME,M+MH!N"'.M>1M/M0M3M2MY4M5M6M/'2@7M8M-$M++-9MA:M$=MW*;MMBM>%"FMCMEMAM.NDMJ-9NM$IMLMJMOMPMHMUMSGM 'KM?:'*C%% SMMMRM"+#TMQM XMWMVM*ZYM>)3%(Q"W[M< ZMLMNNZNN2$(A.]MW.NNN\MH%4$6# N""NN  N N@XNX )# NN"# NNNNN $NNNNNNNNN NNNA %N$N"N#N!NW!%N&N(N4'NY+3N)N,N*N+N-N/N0N1N4N2N5N7N6N#F+8N 9N#):N 65;NN?N74='AN@NBN;ENDNCNFNIN&GNKNJNMNLNNN %ONPNRNQNK(SNTNDUNVN(** *!WNL(ZNXN>YN!$)\NO]NO7[8OE&OO##,- %[N-:,X-A!FO N5OOOC<B8- O M O O O OOOK-OO('\F,L:OOROOO I51VO-P% B)L-J,O$$ZOO+OM-OO!O OO"O#OY A$O+%O&O .:'O(O)O-O*O+O,O.O#V+$/OR'0O2R++1O2O3O65O86O7O;O9O:OR8OO?OC@O&COBOAOPJ;)DOEOFOGOHOIO9JOKO&MOPOOO &)#?F;ROQO!,G1';%[--:UOTO** %/VOSO0(I,WOXOZOI!:;YOHI$?-;[O\O]OPPPV(PPPPPP PS'+E P P 1<2'ZS*] P>+ P;,! PMPPPPPPP:PPPPPPPP!PPP P"P!R#P$P@%P.&&P'P9"J%(P\&+!7MNR"-PON,P*P+P)P7P.P/P0P1P3P2P84P6P5PZ 8P,!9P %:P?P=P

P;PAP@PCP"BPDPEPGPFPHPJPIP[KPLPMPNPPOPPPQPRPASPTPUPVPWP'YP(ZPXP\P[P]PQQQQQQQQQ Q Q Q Q Q<QWCQQ+QQQQA*QZ.QQQ )QQQQQQM* Y Q"Q Q#QP!Q$Q%Q&Q*Q C!+Q(Q'Q)Q>/Q.Q-Q9Q5Q6Q2Q8Q4QA+.7Q3Q1Q0Q;Q>Q=QR?R@RARBRCRDRERFRGR$<IR, JRKR(LRMRB9KLONRORQRRRSRO-PRTRURWRVRYRZRXR-[R\R3B]R SORT)*U;B@CV !"#$%&'()*+,-./0123456789-. @ABCDEFGHIJKLMNOPQRSTUVWXY/"0N000% & 0 %"<<"    000 0 0 0 0 00000`"d"e""4"2 3 !+!B&@& ""#""a"R"; &&%%%%%%%%%%%!!!!!0j"k""=""5"+","" """""*")"'"("!!""^.""" !0 %%%%d&`&a&e&g&c&"%%%%%%%%%%%h&&&&& ! !!!!!m&i&j&l&22!3"!33!!   !"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~11111111111111111p!q!r!s!t!u!v!w!x!y!`!a!b!c!d!e!f!g!h!i!%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%%%%%%%% %%%!%"%&%'%)%*%-%.%1%2%5%6%9%:%=%>%@%A%C%D%E%F%G%H%I%J%333!3333333333333333333333333333333333333333333333333333&!3333333333333333333333&2?ARfJ`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2$$$$$$$$$$$$$$$$$$$$$$$$$$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$S!T![!\!]!^!'138@BSgKI222222222 2 2 2 2 222222222222222$$$$$$$$$$$$$$$$$$$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$t  A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO  $,-/0189<@KMTX\pqtwxzĬȬ̬լ׬  ),-458DEGIMOPTXaclĻȻлӻ $%')-0148@ACDEILMP]ļͼϼмѼռؼܼ $,@HILPXYdhԽսؽܽ DEHLNTUWYZ[`adhjpqstu{|}оѾԾ׾ؾ @ADHPQUſ̿ͿпԿܿ߿DEHLTUWXY`dfhpų̴̵̸̘̙̜̠̩̫̬̭̼ $(,9\`dlmoqx͈͔͕ͤͥͧͩ͘͜Ͱ  !$(0135XY\_`ahikmtux|΄΅·ΉΐΑΔΘΠΡΣΤΥάέ $,-/018TUX\degipqtxπυόϡϨϰ-458aha9eiouvv{˄U[QW|(PSE\]bncdd np[yݍ}E~NNeP]^aWiqTGu+^NPpg@h QRRjwԞR/`HPacdkLp/tt{PŃܕ(.R]`bOIQ!SX^f8mprsP{[fSckVNPJXX*`'abiA[}_NPTU []]*eNe!hKjrvw^}N߆NʐUNEN]NNOwQR@SSSTVuWW[]^abQeggiPkkkBlnxprstwwvz}  ߂b3dҙEם W@\ʃTzو͎XH\cz[_yzz&P8RRwSWbrc km7wSWshvՕ:gjpom̎Kwfxk<S-WNYcisExzz|us5RGWGu`{̃XjKQKRRbhuiPRRae9hi~tK{냲9яI NYdfj4tyy~_ & OS%`qbrl}f}NbQwOOvQQUhV;WWWYGYY[\]]~^_beegg^ghh_j:k#l}llms&t*tttxuuxxAyGyHyzy{}}-OHw!$Qe}vO TbThёU:Q Za bbfVq OczcWS!g`isn"7u#$% }&'rVZ()*+,CN-gQHYg.sYt^dy_l`b{c[[R/tY)_`012Yt345678љ9:;<=>?@ABCoDE`FGfHI?\JKLMNOPQZ%{g}RSTUVWXY<\l?SnY69NNFOUWXV_eejkMnwz|}ˆ2[dozsuTVUMWadfm[nmoouCANJZlSuT{]UXXXb^bdhvu|NWnW'Y \\6^_4bds۞[_`PR0RW5XWX\`\\]^_`ccdChhjm!nnoqvywy;zHSMvܗkpXrrhscwy{~X`feeflqqZmNzNQQR TaqgPhhm|ouwzc\Qe\gguzsZF-o\Ao _]Yjq{vI{'0Ua[iv?\mpsa}=]j^NuSkk>pr-LRP]d,ekoC|~ͅdb؁^gjmrtotސO ]_ QceuNPiQQhj|||oҊϑO7QRBT^na>bejo*y܅#bjΞRfwkp+ybBab#e#oIqt}o&#JQRR mpˆ^eko>|usN6OV_\]`s-{F4HaOoyR`ddj^oprv\2ouxy}Ƀ֊X_'g'pt`|~!Q(pbrxŒڌNP[^eqBvwJ|'XAZb\jmo;v/}7~8KRegiAmnp t`tYu$vkx,^mQ.bxO+P]m}*_DahaRQQ^iz}uO)RSTUe\`Nghlmrrttbul|yψ̑БɛT~oqtWgm3t,xz {|idjtuxxT[U^ oNMS)Z]N_ba=ciffn+ocpw,;E;Ub+gl jzNY__g}T+WYZ['fghkdqu㌁EL@_[lsvv QMQQRhlw w}}bnQ T}Tff'invw„iOQRY=^Uaxdydfg!jkk_rarAt8ww((glgrvfwFzkl"Y&goSXY^c4fsg:n+szׂ(R]aa bbdeYifkk!qs]uF~j'aX؞PR;TOUevl } }^RlirsTZ>\K]L__*ghcieee fginx!}+*2 POcW_bcogCnqv̀ڀ)Mj/OpO^g"h}v~vDa^ jiqqjudA~CܘOO{pQ^h>lNllr{l:tPRXdjtVvx9e^S_%RwINPuQ[\w^f:fghpuuyz' O!X1X[nfekmzn}os+u܈\OPS\S[_ gyy/9;,gvNOIY\\\gchpq+t+~"Ғ NNOPVRoR&TTW+YfZZ[u[[^fvbweenmn6r&{?|6PQ@tܑDٙSR)TtVXTYnY_anbf~lqv||}g[O__b)] gh|xC~lNPS*SQSYbZ^`aIbybegikkkklh5tuxxyy|}>船l^ۘ;V*[l_ejk\mop]rsӌ;a7lXMNNNN:Oy@y`yy{}r} фdž߈P^܌fߙJRigjP*Rq\ceUls#uu{x0wNdk^q NkIghnkco NPPQFUUV@[\\8^^^^`QhajXn=r@rrvey{saތ^XtUlaz"}rrru%um{XX]^^_U`bcMefffhhr^tn{n}}r͞ YmY-^`fsfgPlm_owxƄˑ+NPHQU [[Gb~ee2n}qtDtttlvy}U~z9ux%MhSQ\Til)m+n ;-gaRfk~ ]emqnWY['``bf_f)ssvwl{VreNRrkmz9{0}oS/VQX[\\]@bcd-fhlmnppq&uuuv{{+| }9},m4 a7Ol\_gm|~k[] d\ᘇs[`~gm 7RpQpxpבOSUVWXZ[\\%^a bKbcd6exe9jk4lm1oqrxstt&vawyWzz|}}a~)1ڄꅖ8Bl֖ӚS~XYp[[mZoq!tt]__B`ehoiSjk5mmsvwM{}#@cbĊ bSe]']i]_thob6rNXNPRGSbfi~^OS6VYZ8\N\M\^_C`e/fBfggsw:ÿ́fiUzW[_o`b ik\nq{UXߘ8OOO{T Z[T3TUbXXgYZ[`aVeedfhZlopqRs}{2K\lDss:netviz~ @QXdtupv͖T&ntzzنxIZ[[hicmst,tx}UL.f_egjls-PZjkwYl]]%sOuPQ/X-YYY[]bdddfHjqdtzzG~^~p YR~a2ktm~%OPQRWX[^Baimgnnqbt(u,us8Ʉ ޓNQOvP*QSSS[[$\aae[rs@tvPyyy}Յ^GꑅRg_e1f/h\q6z NRjkoqSK1NqĖCQSTWWWZZ[(`?acl9mrnn0r?sWtтE`bXg^MOIPPqS WYZ \paf-n2rKt}Àf?_[U˗OsNOQjQ/UUz[[|^}^^``a ac8e gggaibil'm8no6s7s\t1uRv}8Ոۊ0BJ>zIɑn XkAQkY9\dosbph}Wi`GakYNTm-pclQaOPQ[aadikuwdcpNN O7YY]_[_!`>rspuuy 3Q 7pvNNRpSTVY[__nnj}5mwNZO~OXen8NXYYA`zOÌeQDSNiRU[N:RTYYP[W[\[c`Hanpnqstux+}(Ʌnj̖\ORVe(f|pp5r}Lrq[hkzov\f[o{*|6ܖNN S4XXXlY\3^^5_cfVgjj k?oFrPstz|x߁灊l#υ݈wQT(W[MbPg=hh=nn}p!~ KN-r{͊GONO2QTY^bugnijlnr*su{5}W[Ζ_R TZ[XduenrvMz{M|>~{+ʌd_iѓCOzOPhQxQMRjRaX|X`Y\U\^`0bhkloNq t0u8uQurvL{{{{~n>I?"+ZkR*bbYmdvz{v}`S\^8op|ޞczdvNNN\PuPHTY[@^^^_`:c?eteevfxfghijck@lmmn^nppss:u[wxy z}z|}Gꊞ-Jؑf̒ V\6RR|U$X^_`chomy,{́Dd=LJOFQQR2V_k_cdeAfffghhionogqq*rt:wVyZyy zz||D}p~T m;Ֆe|ÓX[ \RSbs'P[_`kahm.t.zB}}1~k*5~POPW]^+cj;NOOOZPYĀjThTUOY[]^]f1gg*hl2mJnopsuL|},}}ۆ;p31NRDЙz|OQQW[\Yf=jZmno qouz"!u˖-NNF͑}SjkiAlzXafbpuuR~IKNST0W@W_ccod/eezfggbk`ll,ow%xIyWy}󁝂rvz7zT~wUUuX/c"dIfKfmhik%mnshtt[uuvwwy ~~/:ь뎰2csOSYZ^Nhtuyz̍폟egWWo}/Ɩ_aoNOPSUo]]!kdkx{IʎnIc>d@wz/jdoqttz|~|~ }L9R[d-g.}PSyXXaYaaez P!PuR1UUXY`Sbb6gUi5@ݙ,PSSDU|WXbdkfgoo"t8t8QTVfWH_aNkXpp}jY+cw=TX-di[^oniLQS*Y `Kakpll{΀ԂƍdodeNQTW_avhuR{q}Xi*9xPWYYb*]ayr֕aWFZ]bddwgl>m,r6t4xwۍ$RBWgHrt*kQSLciOU`WelmLrrzm_opaOOPAbGr{}MjWs^g U T[c^^ _e=[HOS SSTTW^`bbUclfmu2xހ/ނa E^ffprO}Rj_SaSgjothyhyǘĘCTzSiJ|_buvB9S<__lsbuuF{ON< NUOSY^0flUtwfPXx[P[h``eWl"oopUPӗrRDQ+TTcUUjm}fwyTTv䆤ԕ\N OYZ]R`bmgAhl/n8* NUPTWZYi[[awiwm#pr犂홸R8hPx^OgGLNTVs WSVX[1aj{sҎGkWUYrkiO\&_a[flpsss)wMwC}b}#~7R IoQ[tz@ZOTS>Y\>cymrϒ0NDQRWb_lnpPppqsitJanQW_`gafYJNNN|TXX}Y\'_6bHb fgfkimmVnnooo]pr%tZttv\y|~ဦkN_twje`bwZZfm>n?tB_`{T_^ll*mp}y ;ST[:jkpuuyyqAt d+exxkz8NUPY[{^`cakefShneqt}i%;mn>sAʕQL^_M``0aLaCfDfil_nnboLqtv{'|RWQÞ/SV^_b``affgjmoppjsj~4ԆČRrs[kjTV][Heefhmm;ruMOPSTa?MfV}Y=4{[^Z%6Z[\ngEattu8S6!`>X:zaA 1 ^2 C/0IXJy2z`f)jLt{g,zORF4s]tǟW/ILT1A6Xrze{FnA]{$ȟ$$$ɟ5@ʟDbnp˟11111 1111111111LܾQ+Mkܿ a##E e=NnNߑ5wdO(OOVQtQQQRR;SNSSSVXYY2Y4Yf[[[\^;`eghehNmp5u~~~~~~7zςoƉfgnt|}Fiz'Rx^ ǞLɝ >Lp 35n>uIlyl*$NNNNNN7OL4OH>PP}444QYQQRNyRR'S5SQ5SS5S#Tm5r56TTTTTTU#U(U5?U55U5}%UB  +QU,9AFMS@zw8,4:G]iMd|  d~ d,VDF MGN,g:?5RԗxD-nC`dTL-+w9ofgydRPC h!L1 H?sX-E`L yU@CJf* yc9u'V|dC> *,99:x5I^ RV1, 4=l;Ntu."[͌z4 h(9)5Q?0G OL H =?&2d39v+~  Q,U,:.2PkҌʌTĂUÞ&^w-@qm\re47_Sw5M 6 V'xxHUyPN-TZWv͂{~Q7RI:wA|XhR6=W{h[H,K'It[=1U5V(NYxQ[NN>5#\Q__8Lb5ezk5l:llp+r,NrHR;y|Sjb4KcfQi]SdxxuΘޘc|Ğok7N7b;Pms=NAwp\ KQY50]"a2qgs2<KxtQ @cj#Bo *zGUMp$S~ v㉧wNOP/NO4T}XX^^_'e3iCjcJ[t\Vz{|l~Ϗ_!?q@BZhkgvB=Wօ{I qLtm{]ko[f[~Wny=DV2'C6E\;x\=Q5x]WqXE@#wLx9J4Al̊O9YlV;_ !mAFy?@7FFl|AsmE8TaEEM{LvME?Ka6DDA>]H]V]=8]] 888B^^%__99?9M9`=a\9aaa9,bbbc9V:ccdZdK:d]!V:e:eSf:f";gB;ghX;Jhhr;q;{; iCi\rdiii;i;ejtjqjj;j;jjjjkkkull<mm&mmWn>qWN6it[IzXٔez}zYzzzzqdAzzzAT\ {U{){S\{o{[l{!{ ]=e\{5|\D||H|}fxE|||t|||g~EDn]}nt}}5q}W@)`}=}}m!aZan~~+Cl'~@AG6ybᙗQcah\Ef7E:d/l;mkk5=U EmӃ~4nWjZ4Bn.X[q=DjJI|; qzÎԒ-eP *Iމ==^b2%#9n7Il{lAnaxSIltdJ 31B6J=EEJupA[ՑWJ[_%P00җlTt3zyJ43Kf;uqQ=0\AWʘȘǘJ'mUx9)JrKW ;X%W6՛L-4P4i8}0P@>EZcKB hԝ#ߡ~4hĝ[! ;394MdC`;9=2O7+K$m9VVEbizrKuIIwqIHCQJsڋy~6iD쒁˓lDr>rwCzpsDC~qp5>/T"796tK_#7[W%J6UIeq1>\U>RpD6&og37<=lX"hW@?7@@A!lTVfV ƓN+Q86DNeKOOQVhZ9 54)Ouڊ NP QOOJ>BO.PlPPOOXPPvn59>>rm>QQDzYRRsRzFqC Ii>ttVtsKJ@S5r@UET W]fWWW>6XZFo,ZY~ZZZFYaB6mCt!Z^Z׋tqrI7\\^^H^|:^O[766*Gr4 __'kZ;D[u`~``(+&_>%%soa>F&aau`,-FMqdeFj+):"+P4x.7c[d1ccIg-b,;dkeri;02I2 U2?f21:AU"U[U%Tx1*42d421Bf$mkfK0fpxcf22frX8:87;73t;g*Fhh;jc87D3jRjjkehLj;zjWk?<ˊ܉gm oI?=n<@=Z nGX$mBx;qCvBpPrrrG%GyQJzt>_6JJI_?>J#5?`>tIH2WBdP!RQxw22ww{wF7^:H8tt>JJ@JaUxxxxsYyAwVAy-j>:zynA2A5yL I=n5kUp56 zYZ&ZZ Z[x*Z[zA]|m|B[^^|I||||j}~}Nab\aH{}^jBuk gN5WdcbI'{,ZC] {^Ecj?49Iee'qlD7Dƀ BgØBjbeQjSmrZA@+[Z=-"tZnEOeMVTwwً>FF7=HM_+Be)qpEm}YwYnC6* L0JBXlo!#Hyon雵6/IqUIKb@';+4Et>HBJC>%2fe>IxJ?tkt>AGhJWh&/c[itc>Jjss>>JJfJ$IHtIpvIs_1ΊU5IkqCI V Uy}PJR.E 7IYtZ6[=6_yZbt< J9Pi=L=uqBnDWmO~gpln oo=Qu64F>qHYn>IAkXW6RpbCqJ/#hgi4{673Lj6l>DD&mQmloo q=:타lSpYZaZqZA-7Y<6qfBnZ+ZB+j>6w[DBqYBተO(m\DM~C jVBp3qC=l%OJe~Y/]=\_]J}&T:3~W?p[p]s|Y Orsz8s9sVAsHs>{lqHs> w>lVttt>>>>t?S?Bumuruu|?uu?Mv?tv?zv\Oq#ViX@Cw9@agE@5wj@o@^\wwXxpx@9xGxQxfxH5U3yh2yA AyyzgAzAzyAzzA!Nb{l{{{||`BzB{||B|B|p }}}}rC %9{.1T=WpC *s`uD9;VYZD:X|%D-DWTDvʂ؂DWiipd`E8R;EopwErEFF$Ggy)8QԌG_XÍGN:UTWqU7HΎ򎷏ʏ̏3ęHI(XkCEIQIS->jITy-I3Ig$J@5J—TVJ`KDXQ7B]bpKřK<ziݛmL o7I:PV{ƞܔzDiÔY@X7vWWsq jT; T ; S e | ` zV o Ui/-s \ ^\Ovg{G6/;dSu6wxNp-j-E*pbqUhE i6|"##*'q(O)g))**+?+GL,,,[----B.t//30f033_Hffyzg55I67FXgi:Wv_>>u HJAB C;@4CCEJQY;<DDWtF9/Gəb7!^NHHJ rJx eYNOyڎ,PR?WqqRTJ?JUFTnTRks4?U2v^UGbUfUW?I]XfP43Y|GHZ[\WQqa|VaObdJd[]kdId?eKef'eWa'ZV!EfjN4IVml6wgnhd^hhB{ &i9iEzi&-j_6id!y4j[k,]5kFl;uemX7%KpqTzf=Uv<5VVYN^XbVmm[>Lc{0e-VJ\TS=}L"VVI^uY@=pNI 6^;vENvwE2TH%V2UbyCVT5VUf-64uUUTrUA ^HQvb,Z}UubmT͌qvccciUC+r.Q4 QMTUUfv-huLjDsG[ h{V&/}As}nrp<frNGO@]e-HG| uH`q~PNNw5 [lgS69}S6FXnK-KTWZy R:e$ts M<0[LOޟ\=rg 7.c%}>,>*:Rt>z6E@vZzx.X@|Vt]Tv4L7a0C]VWcI4Rp5|V|9WlS\dД5cdq( "mJq Q]L{\{hb5c{*~|B||{ >IZsU[OO`R>RgWVPY^ȗ\iT@,S0a,iS ;LAiPFumڙsRY\Qc#mjVzubOsp|!\<Iv*N BJ\izWR]N1l9OTTR55Rk|.zq{kx VJwSԍOb}(uzwJ>zxlgvZ&lևuSx@ rqs-st댻J/_D;n~%`gvךDn,s!5rLQ|JYaYaL}a_Woab9b\:aS3dch5W]‹ڏ9PFy2S8;e@w|_|-zfcM}ut gbt[t$wgSun·ȁIC+wtڄ56im@t=vq`a<w`q-`~K R<<^Vv1UDmp\aw6FhObE[LcPkbGے?LBsQI6BID<i-7{_ R&R8qDmStS~SwSSSSsrWY?sSSIlINWS: S?-Sw Typ+UWf[mmTSkt ]UTTG =M &GUL/TtUU:@RE5Df7Vf2ffMVOVxVSWVVf#6OFWAnlpBW6~lWXTcC&XK\XXa5XX<X[CWPxBӓ5Yh6Yn>$ZSUYN l*mYmqm(YEnZcZ6I7ZetZoT%=27^Rv[e|[z@]H[`a4Y[[M\D\s\(kI\H\\\]7]]F]\]-8II s!68;.^jz^D SNSq ^^^^8^>h _:H::_h#q$c_nnr_@6_]_=PRjph&֑)1`fwc9=96W'qy@>``IISztPZda$BanaQVa[?_(a]a29)(#`\aecbpb .lcI:8dco6.@Wdd{f::dW:Meo(J#Jeme_e~0e@I7Ke@)ee_4f11Df11KfugfQsf=121Sw(gC!J+;i7ggbgAgD"hPn<h3m]ho4i jߊsih5ii2=:<6;gaiJB6ii;cPiY6*!Ej7j;gj <k# `5ktk'n:X@7!TZ;k>k7l$HQkZl&yl=D=A II<6<2 1$7h%mmmm\m|noI@rn3toQ.!/>St?yOnZK0o 7o0>n=@UEDo\oN=top;=oDAo@UA9@???AQVAWA@AaKp~pppppppA=qqwB+qEqZJq\eCOqbB,qZD'J"Jq苽prBrYC$rAV.r@rtIhUrWrU>D0 h=or+s#H+H(s.sss: .jsItA$J#f6IIIsti&J9t>(`tGtsvtlt07tt,jtSIJ_AyJF[tuuَK[MuJugunuO?Mu]tuuv,vQvOvovvvcv7iivvvvobP}Qw&w@wd RXw2wdhwvJhxxx.yUx4yx v+`&yiyWXy9{y y _DR@ N4  @X<\C&v2D`! `!i$D@5C1Qh@d@P`*h5O Ă(u8@qM ^[Cx @ RO|! nwO6 n /`Txh"pV% w[1r[, \΅@T HD@ @;dD+6[ڐۇ %FFɄM   xn_?~=k翺nܧ>wɒץJnMgTboR6)EeB9B`@@ү{R =   LDA@O6Xg@PNAȄZ`+P@n 9 ěl*Fm!ri*{ ,9J @  DE0 00' 0& % PQRTUVW\ 1 3t%4O 56[]78009:00;< 0 0=>0 0?@ 0 0AB00CDYZ[\]^    005 2  ; 0%%%%%&&%%%%%%2!?IJMNKL_`a "f"g"`""R"a"bcdef^)"*"" """33+"."5"4"@&B&""!!!!!!!!%"#"<"h0 ! !ijk333333333YQ[Q^Q]QaQcQUt|%%%%%%%%%%%%%%%<%4%,%$%%%%%% %%%%m%n%p%o%P%^%j%a%%%%%q%r%s%`!a!b!c!d!e!f!g!h!i!!0"0#0$0%0&0'0(0)0ASDSES!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$!$ NYNNNCN]NNNN?QeQkQQRRRSAS\SS N NN N+N8NQENHN_N^NNN@QRRCSSSWXY'YsYP[Q[S[[\"\8\q\]]]]]]r^^ __MbNN N-N0N9NKN9\NNNNNNNNNNNNNNNCQAQgQmQnQlQQQRRRRRRS9SHSGSES^SSSSSX)Y+Y*Y-YT[\$\:\o\]{^^___b6bKbNb/eeeeeefg(g kbkykkkkl4lkp*r6r;rGrYr[rrsNNNNN;NMNONNNNNNNNNNNNNEQDQQQQQQQ RRRSSSSNJSISaS`SoSnSSSSSSSSSSSSSSSSSSSSSVVY.Y1YtYvYU[[<\]]]^^s^|^____ bSbTbRbQbee.g,g*g+g-gckkll8lAl@l>lrssttuu(u)u0u1u2u3uu}vvvvwww:yytzzNNRNSNiNNNNNN OO OO OOOONNNNNNO OIQGQFQHQhQqQQQRRRRRRS!S SpSqS TT T TTT TTT TTTTTTVVV3W0W(W-W,W/W)WYY7Y8YYxYY}YyYYYW[X[[[[[[\y\]^v^t^____b b bbcb[bXb6eeeeeff g=g4g1g5g!kdk{kl]lWlYl_l`lPlUlal[lMlNlpp_r]r~vzs||6 3 nr~k@Lc!2NNMOOOGOWO^O4O[OUO0OPOQO=O:O8OCOTOT&TNT'TFTCT3THTBTT)TJT9T;T8T.T5T6T TWPWOW;WX>YYYYYYYYYYYYY][\[Z[[[[[[,\@\A\?\>\\\\\] ^^^^^__d_b_w_y_________bbbbbbvbbmbb|b~bybsbbobbnbbbbb9e;e8eef_gNgOgPgQg\gVg^gIgFg`gSgWgekkBl^llllllljlzllpllhlll}llrl~ltllvlllllvp|p}pxpbrar`rrrs,u+u7u8uvvwyyyvz|Uo҉7FUdpʎƏŏď]IƑ̑2.1*,&NVNsNNNNNNoOOOsOOlOOOOOpOuOOiO{OO~OOOzOTQRQUQiQwQvQxQQQ;R8R7R:R0R.R6RARRRRSTSSSQSfSwSxSySSSSsTuTTxTTT{TwTTTT|TTqTvTTTbThTT}TTVWwWjWiWaWfWdW|WYIYGYHYDYTYYYYYYYYYYYYYYYYY_[d[c[[[[[[[\H\E\F\\\\\\\\^^^^^^x^^^^^^^&_'_)____|______``/`5``*``!`'`)`+``bb?b>b@bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>eeeeff fffffff ff g gmgggqggsgwggggogpggg~gguggg|gjgrg#kfkgkkllllllllllllllllllllllllllllllllllppppp,r-r8rHrgrirrrrrrsssss=uuuuvvvvww>y@yAyyyzzyzz|T NqRhˎΏԏяǑёw@?;DBR^NNNOOOOOOOOOOOOOOOOOOOOOOWQQQQNRCRJRMRLRKRGRRRRR SWS{SSSTTTTTTTTTTTTTTTTTTTTTTVWWWWWWWWUYQYOYNYPYYYYYYZYYYYZYi[[[[[[\N\O\M\K\\\]^%^^}^^^^_-_e________`` `%``(`M`p`h`b`F`C`l`k`j`d`Abbc cbbcbbcbbbbbbcc?eEeeee%f-f f'f/ff(f1f$ffgggggggggggggggggggggggggjkkkkkkll m2m*mAm%m m1mmm;m=m>m6mml9m'm8m)m.m5mm+mppppppppp0rrrortrrrrsssssssu-uOuLuNuKuuuuuuxvvvvvvvvwvv w wvvwwxx x xFyIyHyGyyyyyyzzzz}|}}} }}}}8 6րڀÀĀ̀ۀ΀ހ݀"ۂ ҂ׂ܂Ԃтނӂ߂Py{zMkԉts͎̎ʐΐÐKJ͑PKLMbi˗ۘߘXNN P P#PO&P%PO)PPPc/cUcBcFcOcIc:cPc=c*c+c(cMcLcHeIeeeeBfIfOfCfRfLfEfAffggg!h8hHhFhSh9hBhTh)hhhLhQh=hgPh@hSSfFUjUfUDU^UaUCUJU1UVUOUUU/UdU8U.U\U,UcU3UAUWUW W WWX XXWWWX5XWW YbY6ZAZIZfZjZ@ZwUUUUUU~UUUU W/X*X4X$X0X1X!XX XXX`YwZZZZZZs[q[[[[[ \ \1\L]P]4]G]]E^=^@^C^~^^^^^<_m____`````a#a`a```ha`a` aaabIbcccccccccccccccvccccRdcc^efebeceeeenfpftfvfoffzf~fwfffgghhhhhihhhhhhhhhh iiihhnih>k:k=kkkkk.l/l,l/n8nTn!n2ngnJn n%n#nn[nXn$nVnnn-n&non4nMn:n,nCnn>nnnnNncnDnrnin_nqq&q0q!q6qnqqLrrr6s%s4s)s:t*t3t"t%t5t6t4t/tt&t(t%u&ukujuuuuuuuu{v|vvvvvOww]xlxox zz zzzzzzzzI{V{F{P{R{T{M{K{O{Q{||^}P}h}U}+}n}r}a}f}b}p}s}U RUTKQN9F>LSt Ń W ̃ʃ8܃ԃ߃[߆نԆۆІކWˆ;`U^a4a'a aa7a!b"bd>dd*d-d=d,dddd d6ddddleeeffffffffgimiZiwi`iTiui0iiJihiki^iSiyii]ici[iGkrkkkkknnnnnnnnnnnnnnnnnnnnnnNqYqiqdqIqgq\qlqfqLqeq^qFqhqVq:rRr7sEs?s>sotZtUt_t^tAt?tYt[t\tvuxuvuvuuuuuuvv[wkwfw^wcwywjwlw\wewhwbwwxxxxxx|xxxxzyyy,yzz zzzzzzw{{`{n{g{|||}y}}}}[}nijrVXqpxenskyzfGw=1ufkIl[<5acimF^\_ Y߈Ԉو܈؈݈ʈՈ҈krsfip|cqmbnly{>hbʌnjȌČ̌Ōߍ捲 KJSBTAljiɑ7W8=@>[KdQ4IME9?Z͖˖ɖʖVtv  霂 PPPPPPPPPPPPbQQRR1SSUVVVUVV V VVUVVVVUWWuX~XXXXyXX}XX%Y"Y$YjYiYZZZZZZZu[[[[[[[[[[ \b\]][^c^U^W^T^^^ _F_p__Ga?aKawabaca_aZaXaua*bdXdTddxd_dzdQdgd4dmd{dreeeefffiiiiiiiiiiiiiiiiiiiIkLk3l3oonon)o>o o,ooo"onno1o8o2o#oo+o/oo*ononnnqq}qqqq>rrrDsPsdtctjtptmtuu'v v v vvvvw}wwawxxxxxxyyy.z1zzzzz{{{u{{{{{{{{|||}}}}}}}}}}}}}}}}}}}p^ZPKɄƄĄ˄ӄфʄ?;"%4U7)jӌьҌk`X\cY^b][uxwtx{|̖Җ| AB󜼞;JQQPPPQQ QQQRRRRRRS.V;V9V2V?V4V)VSVNVWVtV6V/V0VXXXXXXXXmY [Z [Z [[[[[[d\e\]]b^_^a^^^^^^^H_q___vagana]aUaa|apaka~aaaaaaaaaa.bidodyddddddddddddddddddduewexeffff#jjijjji!jj jijjijPkNkkkk?o|ooQofoToomo[oxonoozopodooXonoo`o_oqqqqVrrNsWsittt~ttu v)vv$v&v!v"vvvvwwwwwxxxxxxxx?z~F~7~2~C~+~=~1~E~A~4~9~H~5~?~/~DqrposƁÁɁ q~gч҇Ƈȇˇ;6D8= A?sIKHJD>BE?}9M(uJeK~l[pZTʕ˕̕ȕƕ֖ӗF5;?Ϟޞܞݞ۞>KSVVXX8[]_a3bdddedddef&gjjjjjjjj_kxkk p popoppqqqqwsusttuVvXvRvwwwwyyazbz`zzz+|'|*||#|!||T~U~^~Z~a~R~Y~Hwv́ρ υͅЅɅ(9,+PYcfd_UIMБԕ֕ЕՕܖٖۖޖ$MOLNS>?=.ONMʛɛțQ]`,3QVXXX[^aaaaeeffjjjjpp(pppppr rXrrxszstttuu_vavwyykziz>|?|8|=|7|@|k~m~y~i~j~s~؁݅Յ `_V^A\XIZNOFY |rvlztTNѓߓÓȓܓݓ͓֓ؓדܕ*'aܗ^X[EI ֛ۛarjlRVVVVVX@[C[}[[]aaeeef'gj>p0p2pr{stbvev&y*y,y+yzzL|C|M|||}~|~~Lځf  dplfo_k ˑ0ĘRQ+075 y/_ca7Q8QVVVYl\]aaeeefjkjkLprrttivwP|~~-#"!jltw}_.35:82+892geWEC@>ϚTQ-%\fg×kUUMҚI1>;ӝם4ljV]b#e+e*efktzd|c|e|~~~8?1c`dho\Z[WӚԚњTWV坟VX,e^pqvrvwP69bwjBHDƗp_"X_|}wr^kcpl|n|;rpq^֚#̞dpwwɗbe~ő}~|wxT(rj1r|`$a$b$c$d$e$f$g$h$i$t$u$v$w$x$y$z${$|$}$p!q!r!s!t!u!v!w!x!y!6N?NNNQQQR8SiSS Y[]z^^^P_a_4eeuvv00000000;=='A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO!!!1ZNRDQv12!!!00............................P[TuSKjBN\NQSSN NGNNV n\s_NQN.NNNNNQRlSS WY,Y\]ekkl?r1Ng9g8g;g:g?gOgORO_OAOXO-O3O?OaOQQRR!RRR ScSrSSS0T7T*TTTETTT%TT=TOTAT(T$TGTVVVAWEWLWIWKWRWY@YYYYYYYYYYY[[(\*\\\\\\\\\\\] ^^^^^^^__x_v_______________`_:bbbbbbbqb{bzbpbbbwb}brbtb7eeeeeeEgGgYgUgLgHg]gMgZgKgkllxlglkllllqlolillmllllflslel{lltpzpcrrrrrrrrsssss:u9uuuv=y4xɏ0(/-3NO|OO}OOOvOtOOOwOLOOjOOyOOxOOOOOOOOkOnOQQQ5R2R3RFR1RR S SuuuvvvvvwwwwwwBy?yyxz{zzu||5 ‚ÂpomnVҏˏӏ͏֏Տ׏9=<:COOOOOOOOOOOOOOOOOOODRIRRR=S|SSSSSTTTTTT TTTTTTTpTTTTrTTTWWWWWWWWWWWWWWWX YSYYYYZYYYYYYYYYYYYYYYYY[L\\\\\\\\\\\\\\\\\\\\\]!^"^#^ ^$^^^^^^^_._V__7`9`T`r`^`E`S`G`I`[`L`@`B`_`$`D`X`f`n`BbCbb c cbccbbc cbbcccbcbbAeCeee6f!f2f5ff&f"f3f+f:ff4f9f.fgggggggggggggggggggggggggggggggggggggggggg(kkkkkkk l!l(m4m-mm9/%3-DQ%V?A&"BN*ZMZ9ZLZpZiZGZQZVZBZ\Zr[n[[[Y\] ]]] ] ](] ]&]%]]0]]#]].]>^4^^^^^^6_8____`````````````````````2ceccc}ccccccccocccnccuccmcc|cc;ccxcccccpcSeeefaf[fYf\fbfgyhhhhmhnhhhViohhhhuhthhhwhh|hkhrhhhqh~hhhhhhhxh{hhhh}h6k3k7k8kkkkkk*lmmmmtnmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmp qpqp qpqpqppqqqpp qqq~r{r|rrsssss ssrssssssttsttsss t tstducuuuuuuuuvvv9w/w-w1w2w4w3w=w%w;w5wHxRxIxMxJxLx&xExPxdygyiyjycykyayyyyyyzzz5{G{4{%{0{"{${3{{*{{1{+{-{/{2{8{{#{||||5}=}8}6}:}E},})}A}G}>}?}J};}(}cGCH%-,!'"83:42tzstu}~vYV†ņȆ̆ÆR։ىՉ0',9;\]}}{y؎ގݎ܎׎$  !ԐVXZSUz|mkqoj嘗PPPPPPPPPPhPPPPP_QQSSSSUUUUwUEVUUUUUUUUU}UUUUUUU W)X7XXX'X#X(XWHX%XXX3X?X6X.X9X8X-X,X;XaYZZZzZZZxZZ|ZZZZZ7ZZZZZZZ{Z}ZZZZZZ[[[[[[[ \0\7]C]k]A]K]?]5]Q]N]U]3]:]R]=]1]Y]B]9]I]8]<]2]6]@]E]D^A^X____``````a` aaa`a````aaaa`a aJbccccccccdcccccccadccccccccccccccc2egejede\eheeeeeeeee|flf{ffqfyfjfrfg ihih*ihhhihhhhhiihhihipihihhihhhhh i iihhhhhhhihhi%ih9k;k?k?efQOPԀCJROG=M:<=?u;σ#ƃȃヿ݃؃˃΃փɃ ރƒՃǃуÃă׃ۃ؆ӆچ݆܆׆цHVU׈Ɉ݉ډۉNM9Y@WXDERHQJLO_؍Ӎ͍Ǎ֍܍ύՍٍȍ׍ō-4/,ad_b` %& '${~–ȖÖlpnNNNPPPPPPPPPPPPPPPPPQzRxR{R|RUUUUUUUUUUUUUUUUUUUUUUUWSXhXdXOXMXIXoXUXNX]XYXeX[X=XcXqXXZZZZZZZZZZZZZZZZZZZZ[[[\3\q]c]J]e]r]l]^]h]g]b]]O^N^J^M^K^^^^^^@___`IaJa+aEa6a2a.aFa/aOa)a@a bh#b%b$bcccdd d d$d3dCdddd9d7d"d#d d&d0d(dAd5d/d dd@d%d'd dcd.d!ddoeeeffffffffxf gfi_i8iNibiqi?iEiji9iBiWiYiziHiIi5ili3i=ieihxi4iii@ioiDiviXiAitiLi;iKi7i\iOiQi2iRi/i{iF 2*-<:15B&'8$0눝艫=hiՌό׌   # "$!zrysvzy}~-X}z~{Η͗ٙǙ>?`a_PQ0QPQQPP Q QP QRRRRHVBVLV5VAVJVIVFVXVZV@V3V=V,V>V8V*V:VWXXXXXXXXXXZZZZZ[Z[Z[[[[g\]]]]]]]]]]]]i^]^`^\^}^^^I__aayaaaaaaaaaaaaaafaa-bndpddddddddddddhdddvezeye{eeefffffffjjjiijii jiiijji'jiijii@jjii jii jjj%jji&jjijQkkkkkllklAo&o~oooooooboOooZoovolooUoroRoPoWooo]ooaoko}ogooSooiooocowojo{oqqqqqqqqqqqqqqqqqrrXsRs^s_s`s]s[sasZsYsbsttttt}ttt|tytuu~u%vvvvv#vv(vvvvvvwwwwxxxxxxxxxxxyyyyyyvk9zzzz{{{{{{{{{||||}}}}}}~}}}}}}}vdgOSRPNQ$;)  '+ *(.1& 0 /bVcdwsXT[RaZQ^mjPN_]olzn\eO{ubgiZ   ϊƊӊъԊՊ׊Ŋ؊Êي>Mߌٌڌ݌猠 #%$.&',$ #spogk/+)*2&.ВÒĒْϒߒؒגݒ̒’ʒȒΒ͒ՒɒޒђӒƒ|ӖZЗϗ&)( 'ܙ͙ϙәԙΙəؙ֙˙י̙FCgtqfvuphdlӞQQQQQQ4SSpV`VnVsVfVcVmVrV^VwVWWXXXXXXXX[[[![[[[[([[ [[[]]]]]]]]]]]]]g^h^f^o^^^^^^K__aaaaaaaaaaaaddddddddddd3ee|eeffffffffff#g4jfjIjgj2jhj>j]jmjvj[jQj(jZj;j?jAjjjdjPjOjTjojij`j[qNnuUg`f]Telcedy&0-.'1")#/,݊ߊȊފln3>8@E6<=A0?6.52974vy{356'z8<#F- ˒%4$)95* ͕Ԗ 5/2$')癹3|~{z}% )"՞֞=&Q%Q"Q$Q Q)QRVVVVVV~VVVVXXXX-[%[2[#[,['[&[/[.[{[[[]l^j^__aaaaaaaaaddddddeeeefjjjjjjjjjjjjjjjjjjjjjjj[kk looooooooooooooqqqqqqqssnsostttttttttuuuuuCvHvIvGvvvwwwwwwwwwxxyxxxyxxyyy\z[zVzXzTzZzzzz||{|{{|{ |{| |||{{|{{| ||-~<~B~3~H8~*~I~@~G~)~L~0~;~6~D~:~E~},ā́ʁŁǁ[Z\{w|zxWyvhŇɇLJ̇ćʇއ53<>AR7B " OprqooNMSPLGC@~8dVG|X\vIPQ`mLjyWUROqw{a^cgNYǕɕÕŕ ՗ԗADJIEC%+,*32/-10H3Ag6./180EBC>7@=-Ȟڞ$#"T1Q-Q.QVVVVVVpY<[i\j\]m^n^aaaaaaaaaadeddeedeefffjjjjjjjjjjj^kk lp p pppppopo&poo prqqrqvsttttttttuu\vdvYvPvSvWvZvvvvwwx yyy yyyyyy_z|)|| ||-||&|(|"|%|0|\~P~V~c~X~b~_~Q~`~W~S~uсҁЁ_^ƅŅDžą˅΅ȅŅ҅$iۇ߇ԇ܇Ӈ؇㇤ׇه݇SKOLFPQI*'#305G/<>1%7&6.$;=:Bu\b`WV^eg[Za]iTFGHK(:;>ҕӕѕזږ]ߖؖݖ#"%חٗ֗ؗPQRA<:  ܚ)5JLKǛƛÛӛě\SOJ[KYVLWRT_XZߞ%+*)(LU4Q5QRRSVVVVVVXXXY=[>[?[]p^_aee e e eeeeefjjjjjjjjjjjjj`kk lp'p pp+p!p"p#p)pp$pp*p r rrrrrrrrrttttu`vwwwwyy!yyyyygzhz3|<|9|,|;|||v~u~x~p~w~o~z~r~t~h~KJxׁՁdacمڅׅ؅߅܅хޅ  bZ[Wa\X]YPHJ@SVTKUQBRWCwv mxsjo{ŽRQOPS@?ޓǓϓ“ړГ̓ٓʓԓՓēΓғ}ڕە)+,(&ݗޗߗ\Y]WHGC%$" '#š  7ޛԛכܛٛ՛ڛwqx}ktupis{oyh-@AMVWX7SVVVXE[]]^^__aeeeeefffjjjjjjjj02.3vtsEdcbU]W^ėŗVY RXPJMKUYLNžО876COqpnoVVN[m\-effk_pap]p`p#rttw8yyyj|~mC875K‘khiFCGǗ^՚Ycgfb^` FtuvV.eekkkkbp&rrww9yi|k||~~~~FGHyz|{nmoqsIr_hnm  Gx{zyWfpo|<Ñtxvu`tsqu hpep|j>=?ɎKst̘adfg$Hbk'rLih.)rKyuvkzipjp~IxψXR`|ZT%f%W%`%l%c%Z%i%]%R%d%U%^%j%a%X%g%[%S%e%V%_%k%b%Y%h%\%Q%P%m%n%p%o%%NNNNNNNN N!N#N&N)N.N/N1N3N5N7NO?O@OAOBODOEOGOHOIOJOKOLOROTOVOaObOfOhOjOkOmOnOqOrOuOwOxOyOzO}OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPP P P PPPPPPPPPPP P"P#P$P'P+P/P0P1P2P3P4P5P6P7P8P9P;P=P?P@PAPBPDPEPFPIPJPKPMPPPQPRPSPTPVPWPXPYP[P]P^P_P`PaPbPcPdPfPgPhPiPjPkPmPnPoPpPqPrPsPtPuPxPyPzP|P}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQ Q Q Q QQQQQQQQQQQQQQQQQQ Q"Q#Q$Q%Q&Q'Q(Q)Q*Q+Q,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;QQBQGQJQLQNQOQPQRQSQWQXQYQ[Q]Q^Q_Q`QaQcQdQfQgQiQjQoQrQzQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRR R R RRRRRRRRR!R"R#R%R&R'R*R,R/R1R2R4R5RRDRERFRGRHRIRKRNRORRRSRURWRXRYRZR[R]R_R`RbRcRdRfRhRkRlRmRnRpRqRsRtRuRvRwRxRyRzR{R|R~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSS S S S SSSSSSSSSSS"S$S%S'S(S)S+S,S-S/S0S1S2S3S4S5S6S7S8SV@VAVBVCVDVEVFVGVHVIVJVKVOVPVQVRVSVUVVVZV[V]V^V_V`VaVcVeVfVgVmVnVoVpVrVsVtVuVwVxVyVzV}V~VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWW W W WWWWWWWWWWWWWWWWW W!W"W$W%W&W'W+W1W2W4W5W6W7W8WX?X@XAXBXCXEXFXGXHXIXJXKXNXOXPXRXSXUXVXWXYXZX[X\X]X_X`XaXbXcXdXfXgXhXiXjXmXnXoXpXqXrXsXtXuXvXwXxXyXzX{X|X}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYY Y Y Y YYYYYYYYYYY Y!Y"Y#Y&Y(Y,Y0Y2Y3Y5Y6Y;Y=Y>Y?Y@YCYEYFYJYLYMYPYRYSYYY[Y\Y]Y^Y_YaYcYdYfYgYhYiYjYkYlYmYnYoYpYqYrYuYwYzY{Y|Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ Z Z ZZZZZZZZZZZZZZ!Z"Z$Z&Z'Z(Z*Z+Z,Z-Z.Z/Z0Z3Z5Z7Z8Z9Z:Z;Z=Z>Z?ZAZBZCZDZEZGZHZKZLZMZNZOZPZQZRZSZTZVZWZXZYZ[Z\Z]Z^Z_Z`ZaZcZdZeZfZhZiZkZlZmZnZoZpZqZrZsZxZyZ{Z|Z}Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[ [ [ [ [[[[[[[[[[[[[[[[[ [!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[3[5[6[8[9[:[;[<[=[>[?[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[R[V[^[`[a[g[h[k[m[n[o[r[t[v[w[x[y[{[|[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\ \ \ \\\\\\\\\\ \!\#\&\(\)\*\+\-\.\/\0\2\3\5\6\7\C\D\F\G\L\M\R\S\T\V\W\X\Z\[\\\]\_\b\d\g\h\i\j\k\l\m\p\r\s\t\u\v\w\x\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]] ] ] ] ] ]]]]]]]]]]]]]] ]!]"]#]%](]*]+],]/]0]1]2]3]5]6]7]8]9]:];]<]?]@]A]B]C]D]E]F]H]I]M]N]O]P]Q]R]S]T]U]V]W]Y]Z]\]^]_]`]a]b]c]d]e]f]g]h]j]m]n]p]q]r]s]u]v]w]x]y]z]{]|]}]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^ ^ ^ ^ ^^^^^^^ ^!^"^#^$^%^(^)^*^+^,^/^0^2^3^4^5^6^9^:^>^?^@^A^C^F^G^H^I^J^K^M^N^O^P^Q^R^S^V^W^X^Y^Z^\^]^_^`^c^d^e^f^g^h^i^j^k^l^m^n^o^p^q^u^w^y^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___ _ _ ___________!_"_#_$_(_+_,_._0_2_3_4_5_6_7_8_;_=_>_?_A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_Q_T_Y_Z_[_\_^___`_c_e_g_h_k_n_o_r_t_u_v_x_z_}_~________________________________________________________________________`` ` ` `````````"`#`$`,`-`.`0`1`2`3`4`6`7`8`9`:`=`>`@`D`E`F`G`H`I`J`L`N`O`Q`S`T`V`W`X`[`\`^`_```a`e`f`n`q`r`t`u`w`~````````````````````````````````````````````````````````````````````````````aaaaa a a aaaaaaaaaaaaaa!a"a%a(a)a*a,a-a.a/a0a1a2a3a4a5a6a7a8a9a:a;aa@aAaBaCaDaEaFaGaIaKaMaOaPaRaSaTaVaWaXaYaZa[a\a^a_a`aaacadaeafaiajakalamanaoaqarasatavaxayaza{a|a}a~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbb bbbbbbb b#b&b'b(b)b+b-b/b0b1b2b5b6b8b9b:b;bc?c@cAcDcGcHcJcQcRcScTcVcWcXcYcZc[c\c]c`cdcecfchcjckclcocpcrcsctcucxcyc|c}c~ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddd d d dddddddddddd"d#d$d%d'd(d)d+d.d/d0d1d2d3d5d6d7d8d9d;dd@dBdCdIdKdLdMdNdOdPdQdSdUdVdWdYdZd[d\d]d_d`dadbdcdddedfdhdjdkdldndodpdqdrdsdtdudvdwd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeee e e e eeeeeeeeeeeeeeeee e!e"e#e$e&e'e(e)e*e,e-e0e1e2e3e7e:eg?gAgDgEgGgJgKgMgRgTgUgWgXgYgZg[g]gbgcgdgfgggkglgngqgtgvgxgygzg{g}gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhh hhhhhhhhhhhh h"h#h$h%h&h'h(h+h,h-h.h/h0h1h4h5h6h:h;h?hGhKhMhOhRhVhWhXhYhZh[h\h]h^h_hjhlhmhnhohphqhrhshuhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiii i i iiiiiiiiiiiiiii!i"i#i%i&i'i(i)i*i+i,i.i/i1i2i3i5i6i7i8i:i;ii@iAiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiUiViXiYi[i\i_iaibidieigihiiijilimioipirisitiuivizi{i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjj j j j jjjjjjjjjjjjjjjj j"j#j$j%j&j'j)j+j,j-j.j0j2j3j4j6j7j8j9j:j;jl?lClDlElHlKlLlMlNlOlQlRlSlVlXlYlZlblclelflglklllmlnlolqlslulwlxlzl{l|lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmm m m mmmmmmmmmmmm m!m"m#m$m&m(m)m,m-m/m0m4m6m7m8m:m?m@mBmDmImLmPmUmVmWmXm[m]m_mambmdmemgmhmkmlmmmpmqmrmsmumvmymzm{m}m~mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnn n nnnnnnnnnnn"n&n'n(n*n,n.n0n1n3n5n6n7n9n;nn?n@nAnBnEnFnGnHnInJnKnLnOnPnQnRnUnWnYnZn\n]n^n`nanbncndnenfngnhninjnlnmnonpnqnrnsntnunvnwnxnynzn{n|n}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooo o o o ooooooooooooooo!o"o#o%o&o'o(o,o.o0o2o4o5o7o8o9o:o;op?p@pApBpCpDpEpFpGpHpIpJpKpMpNpPpQpRpSpTpUpVpWpXpYpZp[p\p]p_p`papbpcpdpepfpgphpipjpnpqprpsptpwpypzp{p}ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqq q q qqqqqqqqqqqq q!q"q#q$q%q'q(q)q*q+q,q-q.q2q3q4q5q7q8q9q:q;qq?q@qAqBqCqDqFqGqHqIqKqMqOqPqQqRqSqTqUqVqWqXqYqZq[q]q_q`qaqbqcqeqiqjqkqlqmqoqpqqqtquqvqwqyq{q|q~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrr r r r r rrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r)r+r-r.r/r2r3r4r:rr@rArBrCrDrErFrIrJrKrNrOrPrQrSrTrUrWrXrZr\r^r`rcrdrerhrjrkrlrmrprqrsrtrvrwrxr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr  !"#$%00000 ^ &     000 0 0 0 0 00000006"'"("""*")""7"""%" "#"+"."a"L"H"=""`"n"o"d"e""5"4"B&@&2 3 !0 !&&%%%%%%%%%; !!!!0&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~p!q!r!s!t!u!v!w!x!y!fghijk$$$$$$$$$$$$$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$`$a$b$c$d$e$f$g$h$i$ m 2!2"2#2$2%2&2'2(2)2no`!a!b!c!d!e!f!g!h!i!j!k!pq  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEA0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000rstuvwxyz{|FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~00000000000000000000000000000000000000000000000000000000000000000000000000000000000000}~569:?@=>ABCD;<78134  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO  % 5 ! !!!!!""#"R"f"g""P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%%%%%%%%%%%%%%%%%%%%%%%%% &"000+MkQDHa1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1!0"0#0$0%0&0'0(0)02333333333330!!12 00000000IJKLMNOPQRTUVWYZ[\]^_`abcdefhijk>0////////////0%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K% rrrrrrrrrrrrrrrrrsssssss s s s ssssssssss s#s$s&s's(s-s/s0s2s3s5s6s:s;s?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]rssstsusvswsxsyszs{s|s}sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss^_`abcdefghijklmnopqrstuvwxyz{|}~sssssssstttttt t t ttttttttttttttt t!t#t$t't)t+t-t/t1t2t7t8t9t:t;t=t>t?t@tBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtVtXt]t`tatbtctdtetftgthtitjtktltntotqtrtstttutxtytzt {t|t}tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwtttttttttuuuuuuuu u u u uuuuuuuuuuu u!u"u#u$u&u'u*u.u4u6u9uw?wBwDwEwFwHwIwJwKwLwMwNwOwRwSwTwUwVwWwXwYw\wO!Xq[bbfyrogx`QSS̀ PrY`qTY,g({)]~-ulf<;k{|_xք=kkk^^u]e __X[,AbOS^SMhj_h֜a+R*vl_eon[HduQQgNy|p]w^w_w`wdwgwiwjwmwnwowpwqwrwswtwuwvwwwxwzw{w|wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuv^sdblZSRd”{/O^6$nlsUc\STeW N^ek?|`dsPgMb"lw)Ǒi_܃!Sk``p͂1Nlυd|ifISV{OQKmB\mcS,6gx=d[\]bgzdcI N fswwwwwwwwwwwwwwxxxxxx x xxxxxxxxx x!x"x$x(x*x+x.x/x1x2x3x5x6x=x?xAxBxCxDxFxHxIxJxKxMxOxQxSxTxXxYxZx[x\x^x_x`xaxbxcxdxexfxgxhxixoxpxqxrxsxtxuxvxxxyxzx{x}x~xxxxxx:W\8^PS^eEu1U!Pbg2Vno]5Tpfobdc{_oば\hf_lHldyWYjbHTXN z`oڋbyTucS`lߏ_p;O:\depEQQk][bltu zay{N~wNRQqjSϖndZixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyy y y y y@xPwdYc]z=i O9U2Nuzb^^R9Tpvc$W%f?iUm~"3b~u(x̖Hat͋dk:RP!kjqVSNNQ||O{zgd]Pv|mQgX[[xddc+c-dT{)vSb'YFTykP4b&^kN7_. yyyyyyyyyyyyyyyyy y!y"y#y%y&y'y(y)y*y+y,y-y.y/y0y1y2y3y5y6y7y8y9y=y?yByCyDyEyGyJyKyLyMyNyOyPyQyRyTyUyXyYyaycydyfyiyjykylynypyqyrysytyuyvyyy{y|y}y~yyyyyyyyyyyyyyy `=b9NUScƀe.lFO`mދ9_ˆS_!cZQachRccHP\wy[0R;z`Sv__vlop{vI{wQ$XNOnLe{rmZb^0W,{^_cnxpxQ[W5uCO8u^``YmkxSՖQRc T̍9rxv Syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz z z zzzzzzzzzzzzNvSv-["NNQcaR hOk`Qm\QbeaFucwkrr5XywL\g@^!nYzw;keXQQ[X(TrfeVvAcTY:YW5g5AR`X\EO%Zv`S|bOi` ?Q3\u1mNzz!z"z$z%z&z'z(z)z*z+z,z-z.z/z0z1z2z4z5z6z8z:z>z@zAzBzCzDzEzGzHzIzJzKzLzMzNzOzPzRzSzTzUzVzXzYzZz[z\z]z^z_z`zazbzczdzezfzgzhzizjzkzlzmznzozqzrzszuz{z|z}z~zzzzzzzzzzzzzzzzzzz0SZO{OONls^ju jwA~QpSԏ)rmlJWe?b2YN~>e^aUޘ*S T^l9Z)TlR~_Wq~l|KYN_$a|0N\g\ Θup"QIYQ[O&T+Yweu[vbbE^l&{OO gzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{ { { {{{{{{{{{{{{!{"{#{'{){-{nmmy_+ubOܑe/Q^PtoRK YPN6ry[DYTvVV9eivnr^uFggzvaybecQR8~\/n`g{vؚ|dP?zJTTLkdb=urRi[|B|i[wm&lN[ca+Tm[QUUdMcea` qWlIl/Ymg*XVjkݐ}YSimuTUwσ8hyTUOTvlmkd:?Vўu_rh`TN*jaR`pTpy?*m[_~UO4ssn;uRS݋i_`mOW"ksSh؏bc`$Uubqm[{^RLaĞxW'|vQ`LqCfL^M`pp%c_b`ԆVk`gaIS`ff?yOpGl~dfZZBQmmA;mOkpb` 'xyQ>WW:gxu=zy{|||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}} } } } }}}}}}}}}}}}}}}}}}}!}#}$}%}&}(})}*},}-}.}0}1}2}3}4}5}6}eo!Y~  TghM|ƖS%`urlsSZ~$cQ ]߄bQc[OmyBR`Nm[[e_EY~~ Vg9YsO[RZ>2uGP}?}@}A}B}C}D}E}F}G}H}I}J}K}L}M}N}O}P}Q}R}S}T}U}V}W}X}Y}Z}[}\}]}^}_}`}a}b}c}d}e}f}g}h}i}j}k}l}m}o}p}q}r}s}t}u}v}x}y}z}{}|}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}eP0QRonnm^PY\Fm_luhhVY SqMIiy&qNʐGmZVdwOr҉z4~RYeuSzccvyW6*bRThpgwckwzm~YbɅLuPNuJ\]K{eёN%m_'}&N(ۏsKfyяpxm}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}=\RFbQ[wvfN`||~NfofYXle\_uVzzQpzcvz~sENxp]NRSQeeT1\ubruE\yʃ@\Tw>NlZbnc]wQݍ/OS`pgRPcCZ&P7wwS~d+ebcP5rɉQ~GW̃QT\}}}}}~~~~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~ ~!~"~#~$~%~&~'~(~)~*~+~,~-~.~/~0~1~2~3~4~5~6~7~8~9~:~<~=~>~?~@~B~C~D~E~F~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~[~\~]~OzZmᐏUTaST_cwiQha R*XRNW x w^wa|[bbNpbp`wWۂghxyXTS4nKQ;R[CUWs`QW-TzzP`T[cbScb[gTzw^8YWcWWw{O_[>k!SP{rFhw6weQNv\zuNYAP^~_~`~a~b~c~d~e~f~g~h~i~j~k~l~m~n~o~p~q~r~s~t~u~v~w~x~y~z~{~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79;<=>?@ACFGHIJKLMNORS'andWfFcVbib^WbU!JfUegV݄jZhb{pQo0cȉapntir^ΐgjm^cRbrlOYjpmRPNm~x/}!QWd{|lh^iQShrΞ{ryotNg̑xS)RPOOVY[\]^`cdefgklmopsuvwxz{|}uz|lRtTOTޏp^`m^[e8K`p~|Qh|o$Nϑ~fNdJPuq[foNdc^eRˆpRs3tgx4NޜmQATbsÔ6OQupu\SNn tikxYuR$vAmgmQKT<{z !#$+,-./0249:<>@ADEGHINOPQSUVWY[\]^_`abcdefghklmnoprstuvwxyz{|}WbG|iZd{oKbS^pcdSOx2B^oyU_F.btTݔOee\a\Q/l_sn~\cj[nuSqNceubn&ONl~W;#{=m~YsxlVTWpNVSȏ wnfba+o~ŀǀȀɀʀˀπЀрҀӀԀՀ؀߀  !"#$%&'()*+-.034579:;<=?)+vl_+skwƔoSQ=^8HNsghv dql wZAk'f[YZN jv0sh_[/wa|%_s|yʼnl[B^h w~QMQR)ZbׂcwЅy:n^YmplbvOe`f# T}T,xd@ABCDEGIMNORVWX[\]^_abcdfhjklorsuvwxāŁǁȁɁˁ́΁ρЁсҁӁyd!jxidTb+gX؞l o[L _rgbarNYkXfU^RUa(gvfwgrFzbTPTZ~lCNvYHYWS7uV c|`mbTQZY*Pl<\b`O?S{n+bt^xd{c_Z?\OcB}[nUJMm`grQ[ԁՁցׁ؁فځہ܁݁ށ߁  $%&').2:<=?@ABCEFHJLMNPQRSTUVWY[\]^`abcdefgibl[rmb~SmQ_tYR`sYfPu*ca|T'k%kՅUTvPljU,r^`6tbcLr_Cn>meXovxvTu$RSSN^e*րbT(RpэlxTڀWTjMiOlUv0xbpom_h|x{ gOgcxoWx9ybbR5tkjklmquvwx{|‚ÂłƂɂЂւقڂ݂  !"#$%&)*.027;=dU>uv9SuPA\l{OPGrؘothydwb+TXRNjW s^QtċO\aWlFZ4xD돕|VRQbNa郲W4gWnffm1fpg:khbYNQoglvQhGYgkfu]PeHyAyw\^NO/TQY xhVlď_}llc>?ABDEHJKLMNSUVWXY]bpqrstuvyz~ƒÃăƃȃɃ˃̓΃Ѓу҃ӃՃ׃كڃۃރp`=murfbŔCS~{N&~NԞMR\ocEm4XL] kIkg[TTX7:_bGj9re`ehwTNO]d\OzRN/`zONy4tRdy[lR{"l>PSndtf0l`w^?@ABCDEGHIJKLMNOPRSTUVX]^_`bdefghjnoprtwy{|S6ZSWCglhQubr8RR:p8vtSJinxو6qqQgtXeVvpb~`pXNN_NRY~TbNeb8Ʉcqn[~Qcg9Qz[YsN]leQ%o.J^tm1_dm(nÜ^X[ NS}~„ÄńƄDŽȄ˄̄΄τ҄ԄՄׄ؄لڄۄ܄ބOceQhU'NdkbZ_trmhPx@g9Rl~PeU^q[{RfsIgq\ R}qkUdaUUlGb.X$OFUOLf N\hNc zpR\T~bYJdž fDd\Qam>y7x3u{T8Om Z~^yl[vZuNanXu%urrGS~  "#$%&'()*-./0123456>?@ABDEFGKLMNOPQRSTUWXZ[\]_`abcefgijklmnopqsuvwx|}wviR܀#W^1Yren׋8\qASwbeNߘ[ƋSwON\vY_:yXNgNbR/fUlVNOʑpl^C`[ƉՋ6eKb[[c.US&v}Q,ghkbSmufNNp[qffr͞ ^\/gh_g bzX^pe1o…ÅąŅƅDžȅʅ˅̅ͅ΅х҅ԅօׅ؅مڅۅ݅ޅ߅U`7R Tdp)u^hbS=r4lawz.TwzUxgped6V`ySN{k[UV:O?@ABCDEFGHIJKLRSUVWXY[\]_`acdefghijmscK΀ԂbSl^*Y`plMWJd*+vn[Wjumo-fWkxcSpdlXX*dXhU|Pmpcmn~ChmvWYyr~uhTR"cD|USOfV`mCRI\)YmkX0uul`Fcag:w4^S,Tpmoprstuvwx†ÆņȆ̆͆҆ӆՆֆ׆چ܆݆ @l^\PN^:cGPhnw Tܔd_zvhEcR{~uwPb4YQyzV_m`\WTTQMnVc*To\bXb15@n|-iYb>UcTن\~*gsTOuÀUOMO-n \pakSv)ne~;T3z }UtcmzbegScl]\TLNalK\eh>T4TkfkNBcHS OO^W bdfirRR`fqgRxwpf;V8T!zr‡ÇćŇLJȇɇ͇̇·χЇԇՇևׇ؇هڇ܇݇އ߇  #zo` ^`Y`qpnPlrj-^`NZUm|b~w~#Sf\Or NSYTc(HQN~T$T7m&_Z>fis.sSz[wP~vSv{DXnaNey`TNy]ajPTa']xJRTVm[mSf$%&'()*+,-./01345678:;=>?ABCFGHIJKNOPQRSUVXZ[\]^_`fgjmoqstuvxyz{|\][!hxU{HeTiNGkNOSc:deQhxSall"Q\ #ke__OEfe)s`tQRWb_Lx^Og'`YDQQSylĖqOO=gUy~X bZV{_ĄWSe^\ud`n}Z~~iU[`esÈĈLjȈʈˈ͈̈ψЈшӈֈ׈ڈۈ܈݈ވ  "#$&'(),-./12357 cv)w~tf[tz@Rq_e[o]k[l ŏSb&-@T+NYr]YmŖTN qT pmv%Nx\^plDYcopYvt89:;<=>?@BCEFGHIJKLMNOPQRSTUVWXYZ[\]`abcdeghijklmnopqrstuvwxyz|}~Gd'\ez#YTo0iNV67rΑQ_NucNSfKYmNX;ScO Oc7YWyNul[Y]_iP]YNwNzbfy\Ny_Ɓ8uNԈak_INvn㋮ ы_~5kVk4YTm[n9\_É͉ӉԉՉ׉؉ىۉ݉߉ pS1jtZp^($%gGΏbvq_lx fTbcOÁu^͖ Tlm8l`R(u}^O`_$\1url8nI gSSQOɑS|^mNvi^aYOO>| annN1ZN\y[틽sWTGU\_a2kr !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~tm[Ոkm3 nQCQWScVXTW?sn܏т?a(`bf~Í\|g`NShAQЏt]UfU[S8xBg=hT~p[}Q(WTef^Clm|QgeojV vvpq#bRl<`Xaf`NbU#n-ggŠÊĊŊƊNJȊɊʊˊ̊͊ΊϊЊъҊӊԊՊ֊׊؊يڊۊ܊݊ފߊ(whiTMNpȋXde[z:P[wky|lve-]U\8h`Sbz[n~jzp_3o _cmVgN^&N4vb-f~blugqiFQSnbTُYmsewu'xOguʋ/cG5#cAw_rN`tebck?e  !"#$%'()*+,-./0123456789:;<=>?@ABCDE'^uѐg/e1TwAlKN~Lv ikgb?@BCDEHJKMNOPQRSTVWXY[\]^_`cdefghilmnopqrtuvw{|}~N N@QN^ESNNN2l[iV(Ny?NSGN-Y;rnSlV䀗k~w6NN\NiNN[[lUVNSSSSSe]SS&S.S>S\fScSRRR-R3R?R@RLR^RaR\R}RRRRRQTNNNNNNNNON"OdON%O'O O+O^OgO8eZO]OŒÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ֌׌،ٌڌی܌݌ތߌ _OWO2O=OvOtOOOOO~O{OO|OOOOOOOOOOOOO)PLPO,PP.P-POP P%P(P~PCPUPHPNPlP{PPPPPPQPPPPQ QN=lXOeOOFlt|nQ]ɞQYR SSQYUQNVQNnN҈y4[QQQQ QRW_ehijlnoqrxyz{|}~ōǍȍɍʍ͍ЍҍӍԍQQQQ‹Ëˋϋ΋ҋӋԋ֋؋ً܋ߋ  !%'*+./2356iSzS"!1*=?CEFLMNOPSTUVWXZ[\]^_`abcdeghjknqϐŐАĐǐӐܐאې"#1/9CF RBYRRRRTRRRSqw^QQ/S_Zu]LWWW~XXXX)W,W*W3W9W.W/W\W;WBWiWWkWW|W{WhWmWvWsWWWWWWWWWWWWWWWWWWWWWsuwxyz{}~ŽÎĎŎƎǎȎɎʎˎ͎̎ώЎюҎӎԎՎ֎׎؎َڎێ܎ݎގߎ X XWWXXXDX XeXlXXXXXay}Ȃʂ゘˂̂Ă΂ ܂҂؂ ӂՂQ[\<41^/OGC_@`-:3fe  !"#$%&'()*+,-./0123456789:;<=>?@ABCDhiljmnx|}{؃X ݃փ8ԃ߃Ń&\QZYszx?@ABD7UVUuUvUwU3U0U\UUUUUUUUU~UUU{UUUUUUUUUVUUUUUUUUUUUUUUUUVV VV$V#VUV'V-VXV9VWV,VMVbVYV\VLVTVVdVqVkV{V|VVVVVVVVVVVVW W WW^^^^1^;^<^EGHQSTUVXY[\_`fghkmsz{|‘ÑđőƑȑˑБґӑԑՑ֑בّؑڑۑݑޑߑ7^D^T^[^^^a^\z\\\\\\\\\\\\\\\\\\\\\\\\]]']&].]$]]]]X]>]4]=]l][]o]]]k]K]J]i]t]]]]s]]s_w____________ba_rrrrrrrrrrrrrrrrsrsr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDErss!s ssss"s9s%s,s8s1sPsMsWs`slsos~s%Y$YYcghijkltw}^^^^^^^^^^S^^^^^____`_`___``___`5`&``` `)`+` `?`!`x`y`{`z`B`FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{|}~j`}````````````````` a&aa#a`aa+aJauaaaaaaa_ ,N?rb5lTl\lJllllllhliltlvllllllllllllllllllll’ÒĒŒƒǒɒʒ˒̒͒ΒϒВђҒӒԒՒ֒גْؒڒےܒݒޒߒ 9m'm mCmHmmmmm+mMm.m5mmOmRmTm3mmommm^mmm\m`m|mcmnmmmnmmnmmmnm nm+nnnNnknn_nnSnTn2n%nDnnnnn-onnnnnnnnnnnnboFoGo$oon/o6oKoto*o o)ooooxoro|ozoo  !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghikoooooooooop#pp9p5pOp^p[[[[[[/u4d[[0[GӏՏ & !56-/DQRPhXb[ft}P_W_V_X_;\TP\Y\q[c\f\*_)_-_t<_;n\YYYYYYlmnopqrstuvwxyz{|}~“ÓēœƓǓȓɓ˓͓̓YYYYYYYYYYZZYZYYY Z Z2Z4ZZ#ZZ@ZgZJZUZusssssssssssssss| tssssst*t[t&t%t(t0t.t,t/0123456789:;<=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijlmnopqrstuvwxyz{|}~ǔϔӔԔڔ ttAt\tWtUtYtwtmt~ttttttttttttttLgSg^gHgigggjgsgggugggggwg|gg hg hgg hggggghggghgg2h3h`hahNhbhDhdhhhUhfhAhgh@h>hJhIh)hhhthwhhkhhnihi ih'3=CHKUZ`ntuwxyz{|}~•ÕĕŕƕǕȕɕʕ˕$ih iiWihiqi9i`iBi]iikiiixi4iiiiiificiyiiiiiiiiiiiiiii/jijjejiDj>jjPj[j5jjyj=j(jXj|jjjjjj7sRskkkkkkkkkkkkmqrsuvxwyz|~͕̕ΕϕЕѕҕӕԕՕ֕וٕؕڕەܕݕޕߕ #$%&'()+,-/0789:>ACJNOQRSVWXYZ\]^`cefkmnopqsxyz{|}~Ύ bbbb"b!b%b$b,btttuuu4eeee ffrgfffpff4f1f6f5f_fTfAfOfVfafWfwffffffffff236;=@EFHIGMUYljʉˉ̉ΉωЉщnrr]rfror~rrrrrrrc2cc–ÖȖʖ˖ЖіӖԖ֖זٖؖږۖܖݖޖߖ  ?ddkkkkklll lllll!l)l$l*l2l5eUekeMrRrVr0rbR gۀ€Āـ̀׀g݀ gZ6,2HLStYZq`i|}mgMXZń&gʁ!"#$%&'()+,./134567:;<=?@ABCDEFGHIJKLMNOPQTUWXZ\]_cdfghjklmnopqruwxyz{}~$k7k9kCkFkYkјҘӘ՘٘ژk@_keQeeeeeeeeepppppppppppqqq/q1qsq\qhqEqrqJqxqzqqqqqqqqqqr(rlpqfqq>b=bCbHbIb;y@yFyIy[y\ySyZybyWy`yoygyzyyyyyy__—×ėŗƗǗȗɗʗ˗̗͗ΗϗЗїҗӗԗ՗֗חؗٗڗۗܗݗޗߗ <`]`Z`g`A`Y`c``a a]aaaaabllmwwx xxxxe-xxx9x:x;xx?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnbwewww}wwwwwwwww:u@uNuKuHu[uruyuuXa_Hhtqy~vv2ĔȔɔʔ˔͔̔ΔДєҔՔ֔הٔؔ۔ޔߔopqrst˜ØĘŘƘǘȘɘʘ˘̘͘ϘИԘ֘טۘܘݘ "*+),124678<>?B5DEFILNORSTVWXY[^_]abdefghijkloqrs:wwɖyyyyzG]zzzz  !"#$%&'()*+,-/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSVWXYZ[\]^_`abdfsxy{~9z7zQzϞpzvvvvvtt,u "()*+,216879:>ABDFGHIKLNQUWZ[\^cfghijklqmsuuuuuuuuuuuuuuuuuuuuuuuvuuuvvv vv v%vvvv™ÙęřƙǙșəʙ˙̙͙ΙϙЙљҙәԙՙ֙יؙٙڙۙܙݙޙߙvv3vMv^vTv\vVvkvovzxzyzzzzzzzzzzzdir}ƈɈΈ! 4+6Af{u倲vvw "%&')(1 5CFMRiqx  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYMTlnz|{ĆΆɆφІކ߆؆ц #;%.>H41)7?"}~{`pLnSc|dYe҇Z[\]^_`abcdefghijkrÚĚƚǚȚɚʚ͚ΚϚКҚԚ՚֚ךٚښۚܚݚޚƇ凬ˇӇчʇۇ !9<6BDEzz{{{{ {+{{G{8{*{{.{1{ {%{${3{>{{X{Z{E{u{L{]{`{n{{{b{r{q{{{{{{{{{{{{{{{{{{{{{{ |{{|| |  !"$%&'()*+,-.013456789:=>?@FJKLNPRSUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|*|&|8|A|@|D!"#-/(+8;34>DIKOZ_h~؈߈^||Ie||||||||||||||||nf|w}}}G~~sgmGIJPNOd|}~›ÛěśƛǛțɛʛ˛̛͛ΛϛЛћқӛԛ՛֛כ؛ٛڛۛbapio}~rtyU~Yič֍׍ڍލ΍ύۍƍ ,.#/:@95=1IABQRJpv|otxe։މډ܉ܛݛޛߛ  !"#$%&'()*+,-./0123456789:;>&S*-0> ΖҖwȒ>jʓ>k#zĜŜƜǜʜ˜<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~œȜɜќҜڜ̜ۜ͜ΜϜМӜԜ՜ל؜ٜܜݜߜ|XŚš˚̚њECGIHMQ .UTߚ#;~֓۞ܞݞߞ",/97=>D  !"#$%&'()*+,-./0123456789:;<=>?@AB456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~⣝ÝĝŝƝǝȝɝʝ˝̝͝ΝϝНѝҝӝԝ՝֝ם؝ٝڝ۝ܝݝޝߝ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM $'.04;<@MPRSTVY]_`abenortuvwxyz{|}NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~㫞žÞŞƞǞȞʞ˞̞ОҞӞ՞֞מٞڞޞ !#$%&'()*+-.01 234568:?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg  !#$'()..s4G4..566..n99&99s:9+,N;n<<.12.V@_A.7C...;CC.CDaFLFC#G)G|GG.GIzI}IIIIIIIIITULLLLwLLMMMMMMMMdhijklmnopqrstuvwxyz{|}~000 000@>?00000N0000  \0 \& %      00;=[]0 0 0 0 0 00000 "`"f"g""4"B&@&2 3 ! &&%%%%%%%%%%%; 0!!!!0" """""*")"'"("!!"" ""#""a"R"j"k""=""5"+","+!0 o&m&j& ! %!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZA0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%NUZ?Ta(cY"uPz`c%nefh'Weqb[Y{b}}b|[^ cfHhǕOgN OMOOIPV7YYZ \`apafipOupuy}}ÀcUz;SNNWxNXn82z(/AQpSTTVY_m-bp TS[poS\zNx&nVUk;YSfmtBVNKO SU0[q_ ffh8ll)m[tvNz4[`풲muvř`iSQW0XDY[^(`cclopqYqq?s~vт`[iXeZl%uQ.YeY__be*j'kksV,Ğ\l{QK\aƁvharYNOxSi`)nOz NSNUO=OOsORS VYZ[[yfggLklkpsyykSkWl"ooEotuv wz{!|}6f̊Qeӗ(8N+T\]sLvT/Z__`hjZtxw^NɛN|OOPPIQlQRRRSSTTUQWW}YT[][[]]]x^^^^_R`Labbc;efCffmg!hhi_l*mim/nn2uvlx?z|}}^}}T*RLaʐuq?xMؚ;[RRSTXboj_KQ;RJTV@zw`ҞDs opu_`rdkNVdWXZZh`aff9hhmu:}nBNPOSUo]]]glstxP߈PW^+cPPQgT^XY[i_Mbc=hskn}pǑrx&xmye0}܃ dR(WPgjQBW*:XiT]Wx\OJRT>d(fggzV{"}/\h9{SQ7R[bdd-gkіv֛LcvRf NPSq\`dce_hqs#u{~یxefkNN:OO:RSSUVXYYYP[M\^+^_`c/e\[eeegbk{klEsIyy|}+}󁖉^ifnj܌̖okNrtux:y 3ꁔPl_X+z[NSW1YZ[`nouꌟ[{rPga\J~Q\hcfenq>y}ʎndžPR:\Sg|p5rLȑ+[1_`;NS[Kb1gkrs.zkRQSjT[c9j}VShT[1\]Oab2myyB}M~Frt/1KlƖNOOEQAS_bgAl ncs&~͑SY[m]y.~|~XqQSO\%fwzQ_eoikmndov}]uQR@bffn^}rfRSsY^_U`dPQR SGSSTFU1UVhYY~ d_xRbcBdb-z{v} INHQCS`S[\\]&bGbdh4hlEmmg\oNq}qez{}J~z9nΌxwMRU8o6qhQyU~|LVQX\cffZiruuyVyy| }D}4;a PuRSS PUXOY=r[d\S``\cc?ccdef]iioqNuvz|}}aIXlňpmPXaӁ5 OtPGRsSo`Ic_g,nO^\ʌe}RSvQcX[k[ \ dQg\NY*YplQ>UXY`Sbg5Ui@ę(SOX[\/^_ `Ka4bfln΀Ԃ.۞ۛNS'Y,{Ln'pSSDU[Xbbblo"t8o8QSSFOTjY1]zh7rH=j9NXSVfWbceNkm[npwz{}=ƀˆ[VX>_efjk7uNJ$Pw0W_e`zf`luznE{\uzQ{Ąyz6Z@w-NN[_bm6t4xFZuO^bcWeogvLr̀)M PWZhsidqrXjyw)/OeRZSbgl}v{|6f or~Q{rx{H{ja^Qu`ukQbnzvOpbO{zVYX䆼4O$RJSSS^,deg>lNlHrrsTuA~,酩{Ƒiq=cifjuvxC*SQS&TY^|_`Ibybbekluvxy}w^ۘ j8|P>\_gk5t w;gz9Suf_񃘀<__buF{ee gllp2x+~ހ *JҒlONNPVRJWY=^__?bfgghQ!}~2 T,SP\SXd4ggrfwFzRlkXL^TY,gQvidxTWY'fgkTiU^ggR]hNOSb+glďOm~Nban+osT*gE]{\[JnфzY|l wR"Y!q_rw'a iZZQ T}TfvY]rnMQh}}bxd!jY_[ksv}2Q(gٞvbgR$\;b~|OU` }S_NQY:r6Α%_wSy_}3VgS aalRv8/UQO*QRS[}^`ac gggnm6s7s1uPyՈJĖYNYON?P|^Y[^ccdfJii mnq(uzIɄ! e} ~ab2kltmmeg<ma}=jqNuSP]koͅ-)RTe\Nghttuψ̑x_szNceuRAmn tYukx|zOnae\NNP!NQ[ehmsBvwz|oҊ|ϑuR}+PSgmq3t*W`tAXm/}^N6OOQR]`s|}o#,BTojpŒ2RAZ^_g|iijmobrr{~KΐmQy2֊-PTqjkČ`gNNkhi~nxU _NN*N1N6NYzUYPYNYZYXYbY`YgYlYiYxYYY^OOYYYYYYYY%ZZZZ ZZ@ZlZIZ5Z6ZbZjZZZZZZZZZZZZZZ [ [[2[Z*[6[>[C[E[@[Q[U[Z[[[e[i[p[s[u[x[ez[[[[[[[[[[[[[[[[[[[\\\ \\ \"\(\8\9\A\F\N\S\P\O\q[l\n\bNv\y\\\\Y\\\\\\\\\\\\\]\ ]]]\]]]]]"]]]]L]R]N]K]l]s]v]]]]]]]]]]]]]]]]]]]]] ^^^^^6^7^D^C^@^N^W^T^_^b^d^G^u^v^z^^^^^^^^^^^^^^^^^^^^^^^^_ _]_\_ ___)_-_8_A_H_L_N_/_Q_V_W_Y_a_m_s_w_____________________`_!`````)``1```+`&``:`Z`A`j`w`_`J`F`M`c`C`d`B`l`k`Y``````````````````_````Maaa``a``a!a`` aaGa>a(a'aJa?acMcdOcccccvcccccckciccccccccccd4ddd&d6ded(ddgdodvdNd*eddddddddddddddd ddbdd,eddddedeee$e#e+e4e5e7e6e8eKuHeVeUeMeXe^e]erexeeeeeeeeeeeeeeeeeerg ffesg5f6f4ffOfDfIfAf^f]fdfgfhf_fbfpffffffffffffffffff?ffffffggg&g'g8.g?g6gAg8g7gFg^g`gYgcgdggpgg|gjggggggggggggggggggggggjhFh)h@hMh2hNhh+hYhchwhhhhhhhhhjhthhhhih~hihih"i&ih ihhhh6iiihh%ihhh(i*ii#i!ihyiwi\ixikiTi~ini9iti=iYi0iai^i]iijiiiiiiiii[iiiii.jiiiiiiijji kiiijijiji jjj#jjDj jrj6jxjGjbjYjfjHj8j"jjjjjjjjjjjjjjjjjjjjjkjkk1k8k7kv9kGkCkIkPkYkTk[k_kakxkykkkkkkkkkkkkkkkkkkkkkkkkkkllll$l#l^lUlbljllllll~lhlsllllllllllllllllllmM6m+m=m8mm5m3mm mcmmdmZmymYmmmommn nmmmmmmmmmmmmmmmmm-nnn.nnrn_n>n#nkn+nvnMnnCn:nNn$nnn8nnnnnnnnnnnnnnnnnAooLpnnn?on1on2on>oonozoxooooo[oomoo|oXoooofoooooooooooooooo p popppopptoppp0p>p2pQpcppppppppppppp qpqqeqUqqfqbqLqVqlqqqqqqqqqqqqqqqqqqqqq rrr(r-r,r0r2r;rsNsOs؞Wsjshspsxsus{szsssssssssttot%ts2t:tUt?t_tYtAt\titptctjtvt~tttttttsttttttttttuuu uu uuuu&u,uz7zCzWzIzazbzizpzyz}zzzzzzzzzzzzzzzzzzzzzzzzzzz{{ {{3{{{{5{({6{P{z{{M{ {L{E{u{e{t{g{p{q{l{n{{{{{{{{{{]{{{{{{{{{{||{{`||||{{| |{#|'|*||7|+|=|L|C|T|O|@|P|X|_|d|V|e|l|u||||||||||||||||||||||;|||||}}}} }E}K}.}2}?}5}F}s}V}N}r}h}n}O}c}}}[}}}}}}}}}}}}=~}}}}}}}}}}}}}~ ~#~!~~1~~ ~ ~"~F~f~;~5~9~C~7~2~:~g~]~V~^~Y~Z~y~j~i~|~{~~}}~~~~~~~~~~~~~8:ELMNPQUTX_`higxqܘ !(?;JFRXZ_bhsrpvy}Qۀـ݀Āڀր )#/KF>SQqneft_Ɂ́сف؁ȁځ߁ )+83@YX]Z_dbhjk.qwx~߂҂ނ܂ ق5421@9PE/+#|su΃؃  " 8m*(ALONIV[Zk_lot}:A?HLNPUblxz|bȌڌ  N͌gmqsύڍ֍̍ۍˍߍ B504JGILPHYd`*cUvr|ƎŎȎˎێ  &3;9EB>LIFNW\bcdڏ!  '659OPQRI>VX^hovr}Hbې20JVXceisrɑˑБ֑ߑۑ,^WEIdH?KPZϒD."#:5;\`|nV֓דؓÓݓГȓ6+5!:ARD[`b^j)puw}Z|~ʕoÕ͕̕Օԕ֕ܕ!(./BLOKw\^]_frlΖ˖ɖ͖Mܖ Ֆ$*09=>DFHBI\`dfhRkqy|z×Ɨȗ˗ܗOz 8$!7=FOKkopqtsĘØƘ !$ ,.=>BIEPKQRLUߙۙݙؙљ+7EB@C>UM[W_bedikjϚњӚԚޚߚ"#%'()*./2DCOMNQXtʛƛϛћқԛ:   .%$!0G2F>Z`gvx *&#DA?>FH]^dQPYrozĝƝϝٝӝuy}a̞ΞϞОԞܞޞݞv!,>JRTc_`afgljwrv/XiYdtQq      !"#$%&'()*+./01456789:;<=>ABCDEFGHJKLMPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ #z     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOQRSTUVWXYZ[\^_ !"#$%&'()*+,-./0123456789:@ABCDEFGHIJKLMNOPQRy~      !"#$%&'()*+,-./0123456789:?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[  @AVW`ajk             ! " & 0 9 :  !"!""")"H"a"d"e"# #!#%% %%%%%$%,%4%<%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%%%%%%%%%%utf8charwchartucs2beucs2leutf16beutf16leucs4beutf32beucs4leutf32leasciiusasciiiso646iso646usutf16ucs4utf32ucs2eucjpshiftjissjiscp932iso2022jpgb18030gbkgb2312big5bigfivecp950big5hkscseuckrksc5601ksx1001cp949iso88591latin1@iso88592(WN)T5UVn"\N_XEVo 6W\I#@d1 %c25C4e5MMYts7J#@t9 s:C<e=NY`iso88593(( )4G.\$,2-DUG/@\# (1$243D#4xd5e6܄7#,9褣:;#<|d=>%`iso88594($RT)T%H["+Sd_X5QH\5P#0cJ %c25 J4LTc5؜6t7#8cJ s:NJDTLc=>x`iso88595(D'tUguevܵҝw߁xWy硗zמ{|W}ᗟ~ןX" 2ؠBRXbrء&b"Hb&b*"iso88596(bihlp)tix|'Z"2ڨB)iso88597(LL($l)*@İ",--9.dQVeafq֙gh@iZjZk[lF[m݆[n[o\p G\q\r-\s=iso88598( (b)r*+",b-r. BIdFdJ.dN> eRNIeV^eZn%40iso885994E#4Tc5d6ܰ47#8c9褣:;#D?iso885910($H()5ATVrUP4QH)-6EdWsE P#0cJ %c25344TcMW؜6t7#8cJ s:;DLiso885911tis620(x):*z***:+z+++ ;,{,*,:,J;-Z{-j-z-;.{.骻..;/iso885913(\,(`l)ؤ*1",b-.9AcD %E RMU4CUc5gW%7AsD VE!ŔMV?iso885915latin9)$R)V*+",rb-s.G!/#0c1$243D#4Tc5d6t7#8c9褣:;#?iso885916(TPN$c\)V*n\Nr]l-s5.G!V\#@d1$243$4eSee6X7#@d9褣:;$<eTf>\?cp1250windows1250 $P1st\Oe%[LLo0lPi5[WNd)2* \Nb-D.7 S\I#@d1 %c25C4e5MMYts7J#@t9 s:C<e=NY`cp1251windows1251 MWqs$wqw NLo0|("t"vh)ѥB*ub.b-,.&V7b߁xWy硗zמ{|W}ᗟ~ןX" 2ؠBRXbrءcp1252windows1252 $P1]s}u\G LLo0ĂlH0W["(b)*+",b-./#0c1$243D#4Tc5d6t7#8c9褣:;#?cp1253windows1253 $P1]st LLo0 ,(b)*Jİ",b-9.dQVeafq֙gh@iZjZk[lF[m݆[n[o\p G\q\r-\s=cp1254windows1254 $P1]s}u\GLLo0ĂlH@["(b)*+",b-./#0c1$243E#4Tc5d6ܰ47#8c9褣:;#D?cp1255windows1255 $P1]s}u LLo0Ă "("b)r*+",b-r.//3X7@:c>d]z%aBIdFdJ.dN> eRNIeV^eZn%40cp1256windows1256 $OZ1]s}u,GQziNLo0ĘlH-̰)(b)*+",b-2. ihlp)tix5{٧ *z9褣:&;.h8=>4pcp1257windows1257 $P1st .LLo0  (`)ؤ*1",b-.9AcD %E RMU4CUc5gW%7AsD VE!ŔMV5?koi8r 3\7㜳;\w`-vc2. ̰r=> A =4E}4I+4M;ttPG-TWmXgu*`8` .`z JX`jhbha}^}7x^z^{|W^xg}g_~koi8u 3\7㜳;\w`-vc2. ̰r=> " MbE}4I4M;ttEmuTWmXu*`8` .`z JX`jhbha}^}7x^z^{|W^xg}g_~cp437 8S9ꬃ;CL1ɘc =ȳO>XÍ(2]3>D.J/.`-6:? 5CGsK+7s3tH }5NuVK=FtX\s\{ֳ}cpWqmm*#w-1|˰|K 26(cp850 8S9ꬃ;CL1ɘc =ȳO>X >`s ]3>D.J/.`-6:# 0DsKR7s3<0H }5N5)@2ȴԌ3\s\|C4TS?hM6t -"/r.rK.26(cp866 ߁xWy硗zמ{|W}ᗟ~ןX" 2ؠ`-6:? 5CGsK+7s3tH }5NuVK=FtX\s\{BRXbrء}Hו݊|K&26(ibm1047cp1047$`4 4D !d #t" (p$"`Db$Tb d&T "93N9# <&:;| *- 13L1Dc %|$243̀@Ѓ؄!dah.O,mqȡ.b )1uqy/l+R-b / *tA5{!DaH$ =3O=}(M8QH>?\3UXqYh! 5H3M50 4` 806d'SunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberAMPM%a %b %e %T %Y%m/%d/%y%H:%M:%S%I:%M:%S %p%m/%d/%y0123456789%a %b %e %T %Y%H:%M:%SLC_CTYPELC_NUMERICLC_TIMELC_COLLATELC_MONETARYLC_MESSAGES      $*2?HTf$TH2Te$ HT     @!?-Dt>F<`Qx;9@ %z8"6i5DNn)W'4b<ACcQޫa:n$MBI .)>5D.&pA~_֑9S99_(;/ Zmm~6 'FOf?-_'u={9Rk_]0V{Fk 6^ae_@h'sM1Vɨs{`kGg Y*vDW>3~?2O}2&=k^5:|!j$|n0-w;C,MA ]}Fq-ƚ3b|7U>Mvd*p׫c|zWIV;8$#֊wZT# 1fjWaG~"e2`l6 ]?X;ޛ"((XM2}P[.4bH[HJCg_Bja (ә\wƒa<sxZo׽-c&gUE6(aw&FYDMC)Ip>(q>. E {.G{2/ Umrk1˖yJAy߉蔗1k__6HglqrB]2 1%t90 Kh,XGt$}nHrSQ 3K~ch>_@]UR)7dm2H2[LuNqETn *if']P;vIk}'i)̬Tjى,rPw0p'qfId=݃?C 1A9p;7+\ZlK8Yvba˻lj@Iu'" &/dv ;3Q:\&mM-zV? +@m19 [ƭKNʥ76BhcvhR71 dMf)e0WVG:ju(0f"=W6 NB3#Oe ?[x#v{rƦSonJXڷfv-íwH]ƀ/?\m*۶%:SW)-K~v{Y*ܷ-vl>pn(>ag3*Mmng91[H0-C%a5p0˸llZݠ!oGb\paIkVRPU7շ3n_]0.26!i'w @-O͠ /] B}ʢj\.U'U dA*k%{4hjOJ*OZ-ZǕ M :W_?8 q݆޶`MekQUHr;@5{EN)A|ddپ1wXi:<FFUu_ҽn.]D>Bać)"|o5׍nj|]tkn>r{jϩ)sɺQ t$}`t؊ , ~f)zvVE~6ė1'n6بV-oW4,V k^>*_ J;m,Ԅ.5/9a8!D Jj/SNT"*U pid&Z`?R4-4]^`g3aXWQ>qH-!,FYzTOVy"68"gU&8Q 3iHeL6!{J!@GUt:gB^_{gzU+#AUYn!*9GI@VY+ZGņCb!;,ya*L{,C&x<{:&g e+=| Q'ci)h( D Npc~|#2V!*o~MQa6:rm9zk2\F'[4wUYMqe/"+z<\3&:0yE>Hz>ư>h㈵>-C6?MbP?{Gz???$@Y@@@@j@.AcAחAeA _BvH7BmB@0BļB4&k C375'78o: #<=? ABzD@FPG$tIK٬:|?\ 5$?KB.?̈Po ̼?$ ??6A_p?aw̫?BzՔ?il7?#GGŧ?,eX?;On? ףp= ף???@@@@ @P@$@@ @(k@ @@C#@&@*焑*@ -@1_0@?tӰ?lX?Q[?{Q}?Z?G^v?Rݛ?i 7?X?_{3|?ڐ?@En[v?B#Kj?Pο?R B.?8C+eGG@#Kj>Pο.?R B.?+eGg@8CB.v:; ??fz^n?g5RҌ?m{]<lX?<2? n4jf?/*RVQ[?UNP1l?չ#ɑ-?U\Ӏ ?MuM<1 ?LtB<1Lp?J]9ݏ<d?[;_?hPKJ˩:7?-Qfm?6>q4?γ-?mL*H<"4L?i(z`E?[HX*.! ?Ig,|P?`cC<-a`?d; fZ~dxt_u?}JtH?U2gBV? ^˜T'?47;iL?:^#F?nWrPԔD٨?[g?11̐!Ղ_{3|? G;*)F?ӈ:`tF ?3ƿݣ?WĿ09 XJ?$¿"S?ZYb<n?uG_H?[W{хX#?`'"S?GL:w ?@x?ـY?B}8@{>?o;%s?wOz\ Q? Ũ# 0?x)&j!~%? wk~?PS?eD???M?Z:W?@W2?=?Р?8w?@r?CMr ?`P?cuܲ?v?Q?? wC?L O+?@ގ?`l}?j ?3.n6 ?ί ?9P)&p?g y?1'm?h????gI?NF?|p?: -?9 ?P Q?Y?q?m?}?X)?9|<?TRn3}<`Z_?1LV̮.?wKu<6;?3}< ?(=-ϯ~<|8 `?e70.ya?0[޿=Jq?2h ۿ9?{ A׿?{mӿd  ?1п {"^?z;|ɿ?4JJ?<¿X#?\x`A??_Go?G`?=$8?j?8Tv?jW6 ?J ?-c?eE?Ax?,?bHSg?{N?M~ ׿2hI?G翸5_G?8B.?0gǓW.=[0QUUU?EϿ$?uUſwUUUUU?Ͽ ݕ?EgUUUſ0D$I?e=B*(q?hC뙹Я?EuR4?y׿,jx? o׿`?Q׿}?x(8[ֿѴ I?xU]ֿ /3G?vֿ#B"q?ʨտOR?PVCOտ$V3?@k7Կܝk?PԿL\Rd?9EԿO,g?9ӿސ[˼?pDΖӿxa?@ӿVFV?FҿkΗc?08ҿ%G?ڌ>ҿEB*?')ѿ߽"?H+mѿ4G?gAѿ@(C?пȣx>?п%?cRGп4$?E"Ͽ -m?uJGϿT9S?0=DοZD':?D οA ?w)`Ϳ>ڂ?̿W]?V) ̿L ?˿+`?ʿu+$?.@EʿП"?hwɿz[u?0Him ɿ6I]?E qȿ@MyF?0ǿ$\/?pb<<ǿI uw?`7ƿ9>7?T1 ƿAN?0$v}sſѩ ?0{Ŀ*?Q,FĿ z?ÿ0`r?IkÿWW}?@T¿;h?yS?,%`;ɪ>? W@+*?I<2A̖y?KW ?@@7 HMI?@>ieR?Ng|~W#?`/ yܺ&t|?(, ?rFp{?%w?8Et1L5d?m^_'Q?\HL2??jM3r,?`y 1(0? bF4?jlkN?@wJڭΟ*]?켫!,cD?@|?3X6ƃ/?g^q9۝?eI\R?@dI(N/{?r5j?RRU,Y?b=,II?(8? {12ye(?]5Hs'$?x?$y `&?o?ta?=5A܇?.c?ģΓ?ͭ<%???ذ?x?[? t?@\? :?Wj'?V` ?u?w? S?| ?8.?\f\?WY?^,'?j5vڷ?,k>n?`NC?ym?` x?m7m&? 2C?X]X?`q1 ?3&?@+g???G?u?0n&?(J ?PŦ?,>e?3eI*??`?hc_Y?)c%? 0?w?`Cr?%g?m&w?Wy?0O? V?/2?kO?<[Bl~?S-~?Ry qf{<g/?$&<{F0?vKN.?7Z@fI??O*?_?<i?p>xQ?>j<[ e? 8ZOE<@?–w|?S ? AI?)G%*z?i퀷~ya?ު{տ=Jq?mҿ9?g:Qп?$1˿d  ?Xw OWƿ {"^?+?4JJ?^vNX#?aZ<A?? 8R?G`?Y]?j?.6S^?jW6 ? w&?-c?pG" ?Ax?~ȋ?bHSg? W0?9B.?4Hпj [W?#A ߿8B.?0gǓW.=`UUUUU?NUY?z)UUUEH[I?&+??ȹ,ֿV7($<?Xտ `?XEwvտmPդb#@?-տg ?xw_Կ>)i?`‹aԿ̄LH/=?0Կ: B<?HiULӿ`QƱ =?GӿMY%=? ҿ+{&=`?Zҿ?϶=`?Zҿ?϶=@?xA)ҿvS($Z ?iѿTh?\gѿ3=?HѿfZĨ&?s$п~k ?д%@п-6?д%@п-6?@^mϿ<*W =`?`˭ο$&+=@?*n'ο?TO/ ?Ok!\Ϳhʻ!=?̿4hOy'=?̿4hOy'=?-t˿1N=?Nʿf?cN<?#ʿFd%?#ʿFd%?PZRɿ*`? eȿ +=@?ǿXJSr+=@?ǿXJSr+= ?ƿfⲣj?p0ſ9PC?p0ſ9PC?&ſ[ ?l+MĿ?`F;? V]2%?ѧ?Nۥ^,=`?MZ?]<i,@? ?2흩<?@Y]^3?G:\#=?`j?h+?@X?ӬZF&=`? 9Ǿ?Eh-@?9? O4%?'?-x!=?#~+?48D,=? a?l=?e?rK#/<@?3=?xTy%= ?'?}i3&=?NW?x.<,=?pu?!%?PD?Cpf`?9믾?,T=@?ZZ?oX(=?2)JDyf˹?x@.?iPS|v%C? %>}f?]4Q?ـ?](ݾ\0FZ? m?mXs8zϑ輿?:*r۲?,̆$}%?ܛ?/9$?H|?*?U7ڗ?jD?Z*?䀄$?'/n?U*g?VpfL,?6 X?bG?d3?%ҁ#?JB>X?|Z?8Q?hI Cp?`2?9UNչ9?oQ7?a ?6sÑ?SE9?֋?'ڒ?{Hgê?ס+͂??ci3;@bf@2rץf@j?}X?Z@"7g?Ckʇ3???@@8@^@@@@&AKAAA2A(;L4BuwsBuwB7Bs6Ch0{CZAC Ƶ;(DlYaRwNDAiAApqAAqqiA{DAA@@P@?CQBWLup#B2 B&"B补A?tA*_{ A]v}ALPEA뇇BAX@R;{`Zj@' @]?hŜ?,o8??xAч׬[zmd4} &^W?ǰ}gē?%~Nǚ?%鰥܇׬ku?k} {Wǰ}gē??niT]?ÕCDKoY|G^W9?0!?#pj:Zx4n8?ա?sT-hgK3ݢ?S=n)|]y8?26ͽu:JX.W|??JC"?+?/[3.?lW7?CQfh?I:?u#Թ?)z??./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz       Invalid flagsName does not resolveTry againNon-recoverable errorName has no usable addressUnrecognized address family or invalid lengthUnrecognized socket typeUnrecognized serviceUnknown errorOut of memorySystem errorOverflowUnknown errorHost not foundTry againNon-recoverable errorAddress not availableUnknown error2 #   (x   @ ipicmpigmpggpipencapsttcpegp pupudphmpxns-idprdpiso-tp4$xtp%ddp&idpr-cmtp)ipv6+ipv6-route,ipv6-frag-idrp.rsvp/gre2esp3ah9skip:ipv6-icmp;ipv6-nonxt+hkAك?*DNn?t9;=׿5h!5h!?R9Ů?`[?u켿Ó?; ??yr?@?YH5h??t쉵@ҫU@ Po@+@NC{@̂cى?l K@onK@,ҨeZh@PA ߋ@, JWM@cv@@~]@9`w@^b7 @~G| @Y @ N @^b >s @~P&Qf<@N @ 0H#?T`9@* @ʹV @Ne @0 @]kcK @q0hMqQ @qz*V-ȥ@!&T(@&T{v[7@̢Pz@ jˆ@7=*6?35 7?=J?`Ü>?)M3(!@A:|Y@F@z^7מ@ ޳?U ;d%?hYN?5~Ãv?&?(=?$si,?;?\ {j*@2+@G?jw?+Y׉?lDۦu?OwG @nlÅ@$}ա@Q>5Uk@ ˀ @ٻ.FK@^W7< @iF:|@{T @%٣@$>_tr@Kx@gj [?q?Z:@)&W@8;K@1UɺK @=y @F"0ǔ@˵aH@xN @U*'J @ d.ч] @&dE[ @nf@<}m,@ j+J @CJDg} @Ej @\<5 @`4)|?pI ـ@'Ф*@ -h @dK\ @qnΧ @Rc-e @ 6FJ?rhp2@kWQs@&f7-@ v7* @*U T @˳+0@po@j \@gee@ .[hg @|`w @k{ @9[Vڏ @] 7D@>7@?@:{e@ʹr@ w2@ Z@,nBn @JՇ@/@K-@jCi~@Ǥjr@‘?==?;ѪԈ? ΟN ?0 ?M` ?̟?iJK?Z*?a ?3d3?a1y@yr @  yj %ҁ#?:*r۲?_p??@rA;? C?B2r?=v4?88??,8l@(\n @/tmp/tmpfile_XXX/tmp/tmpnam_XXXX?@ʚ;hprOBnaeloheSredDyrctbuoXy01@# !    $5$rounds=1234$abc0123456789$Xy01@# !$6$rounds=1234$abc0123456789$Xy01@# !/bin/sh /bin/csh ^[yY]^[nN]yesno   -DT! @-DT! -DT!!3|@!3| 0123456789abcdef /var/run/nscd/socket0123456789ABCDEFLjLLLjjjjjhhhlLllc.pthread.rt.m.dl.util.xnet. {@-DT!???-DT! @T! @F !>nE1cbj<? @O?F-D>2y@?/proc/se>8ı!>RO~>>wQlV?LUUUUU?^ ߿B:SU?iPB>'V?>*=)49=̮!>"/`O~>">llV?f @p@T!?1cba=@T! @1cba=@0|@@T!@1cba=m0_?8C-DT!-DT!?`a=sp.;.;I %{9pAp>? @P!?cbaQ>`!`!?@DT!?@ggr@7:|Z:=+Z>}W>a*??IUUUUU?IUUUUUſF;>t*?n?wTUU?d? r<..j=CB=ldEZ>`U>*??\3&2?h&0?W?n&?A?sS`u󾦒7~?eDC?(V"mm?7d?z?cUUUUU?b?N]h?3?ZT?r8?4MU?Nz1?6T>lYk>~Hc>hw?[hXUC?]=mm?,d?YKZ˾h̀ L>γ Z'?& $V/?kJ5W?vU&? =?uI?;h(?UDU?}o?UUUUUU?.Ÿ?Yl?ȊY*@K-':@p8\3&<9B.?pG@?":? v$K{?Q=Рf ?n LE?$I? UUUUU?/lj,DR-ޭ?mt?q#q?똙?-DT! -DT!\3&<PC?QD?IJ`? $(?a?0C-DT!@!3|@? 8a땗Y6*?(>=c? Q_?ø@?M?8uYc?5WT?Qk?5c`&?\c?3oJ?#f>??\š#WeRT@\g@f"(Ld@ 0O@&A%@`s4?5d `4?bt﮿JHG@,H([@pW!z@h(!+@q ){@!jR 5a@vp3@?8ܛN8~Y.ja@(u@C]d@Z_U 1@ޅp?Jo94?b-qBp6ct}@;@j$h@Q@ "\t@Q&V>@?in?hf#w?OQ*?i}?hn? aBCо"]!?k"t?6UL? yw?qy O @$@v۪?UZ??@пACk0AI,OwA@@_n@8iYP}@=d6 Mnjc{pyO) 2Qg3"]@d ̢@8v@`Z@d(~\m@׋(ucBgt}Z/Pk pŘ `N@̕G 9DP-@:M@%0cm@4[R'@,?9[6xd@ ۾WTz@r#@mY{g@!ڠ;@S@ȝ @鈇 `@=W@Lr?C^T@ٌ)==1)j>eSj@\|@""Ef@@Kp@Kq@0@J)?@o,@w'?4>>ž?z]>@kT;1> bO٪@(jl<@cMK@NT-@!|d@^Ye@ݮ-OE@a @B?C"aH@j2>mBP ??s39P ѱ>(??]t>ՄT;>WҦ?Ȃ?ȳ?i=ŽԫN;WU>\s>k M6?lL??˙?;P=-d>x?ɑp?- zi@,@ŗ @O'M܅@݂'z@2}E@.ey@5z*@?leE\@Q^o0@@WD@g6@ ~@IR-@&E[@cn6@C?=cM@}g=QN @zk]@ۢm@,R_@tIK@1@dq7|(@@ vB?Պo5@DU|>S.|mY@1.}֋@#7P|[@_3 u@>GH@7,MV@)ѦHA@^v@{![?4IeA@ݞ!)>i\wW$ArS%A^WAb@jeЦt@$vSмygE0?[ަ,d@.oK6|K@ѺmW@)d @9{1@hOs1itlmfK Y?ZQT@Ck><^~c@)H%@I@ho@Rn96_5Jޣ)Eh3NiH>dx=@&D&1 )p`K z@T@|DNh@>1@\_fk_GӇl]qL3pTQ?g#G@Oȏө5? Fj>h>a,G W??~*=,}Ɉ5>?3>d͹V_(?S~c ?m0_俸Vx>DHU_?,)vө?<f?*w9P=[:>NZ>dw%l*?M? e?` ?eA0_Za??Vcb?RBtp>M,?]?oS?O@~?bU>?Ȱ}gij?7X?}P?ƶ@?kحg?{T"?L?lm4?-V?Dpx?5ߨɠ?8+?>5?sA?.ӂb?j쑺?AՔB?8$4a L?.n? f? ƍ'?PBü? +g?$ N?PDvI?o\G?]@?aWZj?|SU?PP?+%@aץ@E?9hs&^?a~H?徜?YO?x6?@>[A}I?u.t?'?ӓ?tbE?@C ZLgK?AˀC?8ϘJ?\.lf?;UUUUU?i}ɐ?A6+Y=`PD?DR>?˖dF?Y"$I?UUUUU?x ?xq?? {?խ8=q_@b@`7@E@8E@C4      $1$abcd0123$V9Assertion failed: %s (%s: %s: %d) Dynamic linker failed to allocate memory for error message: option requires an argument: : option does not take an argument: %n%*[^ ]%n %n%*[^ ]%n %n%*[^ ]%n %n%*[^ ]%n %d %d%s:%s:%.*ld:%.*ld:%.*ld:%.*ld:%.*ld:%.*ld:%.*lu %.3s %.3s%3d %.2d:%.2d:%.2d %d Error allocating constructor queue: %m State of %s is inconsistent due to multithreaded fork Error relocating %s: %s: symbol not foundError relocating %s: %s: initial-exec TLS resolves to dynamic definition in %sError relocating %s: cannot allocate TLSDESC for %sError relocating %s: unsupported relocation type %dError relocating %s: RELRO protection failed: %mError preparing lazy relocation for %s: %mError loading dependencies for %sError loading shared library %s: %m (needed by %s)musl libc (x86_64) Version %s Dynamic Program Loader Usage: %s [options] [--] pathname%s %s: %s: Not a valid dynamic program %s: Error getting %zu bytes thread-local storage: %m Library %s is not already loadedError loading shared library %s: %mCannot dlopen while program is exiting.Error recording dependencies for %skÿ5@|&=!><+-*%/I@I/dev/log"C???I@>@(knN_=zp@_KOI@?k /=u*>4h!3r1?{I?IIɿ@@@.3i718c>3^{?h!"3I?@?%|= >>GڽL> Q==T>>h>;ZD<n_<3>=W ?1=ԧ>~+B8Ce"CWyB"(A1?!<w|?@EB CX!DoHCc C5Au #DAdD CKAԝL?!<CCΐEGEYDqCYA?Au?>VǷ;Ru>ℶI 9;c*=λ>xT@ ArB7q1?;?0:h=@l :G|GەGoEZ(vSÆNB`EeF׺EhDy7Û{YˆsBHjAC2FEKDgDC@=By-XTC\D)2SDCAqTAgA?*=Aۉ!4Y?WEEgE_gEl1D&C*C|*BV@p= CBh1n?<5.5G9&=€/l!4e8P<"?FfG5\G.dESE+rECSA=,jBD%E#JEwD-DhDʝB#@=UmB?3h-A[BFhCBMZ@AACA@=}AN3lB^DۂDaC|dÎcg[ѽ>BO}>WU36.7l:~VY-Fd15B9Y<"`ųX7*:ρ-15KdT9j(<@FqB] [>?7gg9T:~;=?#=u,<8E84:n=;k{9v:;GM=^>90 :;(<Z='gf:wq;=7<R1=^<[Kz?:?"?R;r=D?-9@.@g85:@<>z̦>Z$\>6K:T8?;-?@պ=[:\: P:a 6;=>L&x>>>*?'T5`> >K_|fGI}G} DPA= AMʵõɴӴݴݴaaӴѠF=YYYYi4 h 5cc(g^=kpўܟuuuu$22yFÞF?QRRRR,)֘Ϝl]]]]]]]^^^(^4^b^xjN C 9 PyP@"1PPPPPPPPPPPPPPPPP@@P@PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP@@@?M=EEEEE88EE`EEEEEEEEEEEEEEEE8EEEEEEEEEEEEEEEEEEEEEEEEEEE*E----------------M-m---)W{U:j99U:U:U:99:.:U:U:U:U:U:U:|::&c'B%c'&&&c'c'c'c'c'c'c'c'c'c'c' c'c'c'c' c'c'c'c'c'c'c'c'&c' "&&&c'"c'c'c'^$W!>"!c'c'$c'A#c'c'  +E,E,E,+++E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,E,*E,E,%E,E,E,E,E,+E,%,+++E, -E,E,E,E,E,,*E,E,%E,,E,E,*$$#M$M$B*\*w****);>:e:);););:::;););););););P;z;-000000000000000;-000000000/,0000,,,,,,,,,@X'''''''''''''''''''''''''''×ڗA'Ŝ+'''g''''%s %n%s%s%.0d%s: %.*s2>/dev/nulleval "printf %s\\\\0 x $1 $2"-c/bin/sh/dev/shm/:%.2X%d.%d.%d.%d.in-addr.arpaip6.arpa/etc/hosts/etc/services/udp/tcp%x:%x:%x:%x:%x:%x:%x:%x%x:%x:%x:%x:%x:%x:%d.%d.%d.%d:0/etc/resolv.confoptionsndots:attempts:timeout:nameserverdomainsearch127.0.0.1/etc/group/etc/passwd/etc/tcb/%s/shadow/etc/shadowre,%s:%s:%u:%s%s%s:%s:%u:%u:%s:%s:%s /usr/local/bin:/bin:/usr/binHOME [[:alnum:]_][^[:alnum:]_][[:space:]][^[:space:]][[:digit:]][^[:digit:]]__vdso_getcpuLINUX_2.6rwa/tmptempw+-0X+0X 0X-0x+0x 0xINFNANnaninf-+ 0X0x(null)-#%*s%%%s%s%s%s%s*.*%c%c%*%.*s%.0d%s%c%%lln%.*e%.*f000000000000000%.*gXXXXXX/proc/self/task/%d/comm/dev/shm/tmp-%d/etc/localtimeTZUTCGMTTZif__vdso_clock_gettimeDATEMSK%m/%d/%y%Y-%m-%d%H:%M%H:%M:%S+%lld%+.4ld%*lld%0*lldLOGNAME: %.*s/%sreaddir64_r(local)readdir_rInvalid library handle %pSymbol not found: %s/lib:/usr/local/lib:/usr/lib %s => %s (%p) $ORIGIN${ORIGIN}/proc/self/exe%.*s/etc/ld-musl-x86_64.path__libc_start_mainstdinlibc.so__dls2b__dls3ldd [args]LD_LIBRARY_PATHLD_PRELOAD/proc/listlibrary-pathpreloadargv0%s: cannot load %s: %s %s (%p) linux-gate.so.1mallocaligned_alloc1.2.5%s/%.*s%.*s/%s/%s.mo  .|&==== UTC;,;H8p8HzRx $:pFJ w?;*3$"D\tz C.UTF-8 V V V V V V V V V      p 8    tO na rQ fS aU eW wY Wf st S d D   O O O O O O ` O +X-P l ! " P N (P "; j )o,H^ 8; 8 h54h o$5#0% @&@6@F@V@f@-QXόF)1[p0] xY)PhHVl͈?w+pAoz/-t ^v,p@,oWAtߠXdJ ..E nvmet.ko.gzD\nvme-loop.ko.gz RcF .1 ..GT controllerJpci-stub.ko.gz G .F ..Ipci-hyperv.ko.gzH\pci-hyperv-intf.ko.gz i`HK .1 ..M ptp_vmw.ko.gzL\ ptp_kvm.ko.gz l\N .1 ..Prpmsg_ns.ko.gzQvirtio_rpmsg_bus.ko.gzOrpmsg_core.ko.gz ޤ4R .1L..Srtc-test.ko.gz Js5T .1..{p ޜc Y .TL..Z libsas.ko.gz Ƴy~ .nL.. usbmon.ko.gz  .n ..usb-storage.ko.gz\ uas.ko.gz !G .1 ..Pifcvf virtio_pcix vdpa.ko.gz "0b. .L.. ifcvf.ko.gz tP& .L.. vp_vdpa.ko.gz tK .1 ..vhost_iotlb.ko.gzvhost_net.ko.gzvhost_vdpa.ko.gz vhost.ko.gz ޔ .1 ..fbdev LmC . ..core mbKv . ..fb_sys_fops.ko.gzsyscopyarea.ko.gzsysfillrect.ko.gzsysimgblt.ko.gzfb.ko.gz Q^ .1 .. coconitro_enclaves vboxguest  . .. efi_secret ޸ < .L..efi_secret.ko.gz a_ .L..nitro_enclaves.ko.gz Mt圜 .L..vboxguest.ko.gz 쒞 .1 ..virtio_dma_buf.ko.gzvirtio_input.ko.gzvirtio_mem.ko.gzvirtio_vdpa.ko.gzvirtio_balloon.ko.gz ޜL< .1 ..iTCO_wdt.ko.gz xen_wdt.ko.gzi6300esb.ko.gz N .L.. ext4.ko.gz A .L.. f2fs.ko.gz  . .. msdos.ko.gz vfat.ko.gz fat.ko.gz )px . ..virtiofs.ko.gz\ fuse.ko.gz N(s .L.. gfs2.ko.gz ޻y .L.. isofs.ko.gz  .L.. jbd2.ko.gz V .L.. jfs.ko.gz J .L.. lockd.ko.gz ޔLΓ .L.. netfs.ko.gz BK . .. blocklayout filelayoutflexfilelayout nfsv3.ko.gz nfsv4.ko.gz nfs.ko.gz zӀ .L..blocklayoutdriver.ko.gz ޮk> .L..nfs_layout_nfsv41_files.ko.gz ޏM .L..nfs_layout_flexfiles.ko.gz 6}) .L.. grace.ko.gz Mm .L.. nfsd.ko.gz ޖI .L.. nilfs2.ko.gz ޶J ...{n~< lf &Onls_ascii.ko.gz nls_cp850.ko.gznls_cp865.ko.gznls_cp949.ko.gznls_iso8859-13.ko.gz%nls_iso8859-9.ko.gz&nls_koi8-r.ko.gzmac-centeuro.ko.gz92Xmac-cyrillic.ko.gz9e5b7ae@5.apk.e65929a262058cfd0f06e3b91d876f8691035b78225fc760@@5.apk.eaeae423883f8d90327485c9b848d7944dfe6c09a47cf368t Tmac-turkish.ko.gznls_cp1250.ko.gz nls_cp852.ko.gz nls_cp860.ko.gznls_cp932.ko.gznls_iso8859-1.ko.gznls_iso8859-14.ko.gznls_iso8859-15.ko.gz nls_iso8859-3.ko.gz)nls_ucs2_utils.ko.gz Y0nls_cp863.ko.gz(nls_cp864.ko.gz nls_cp857.ko.gznls_cp861.ko.gznls_cp874.ko.gznls_cp936.ko.gz nls_cp950.ko.gznls_cp1251.ko.gz(nls_cp1255.ko.gzmac-croatian.ko.gz#nls_iso8859-6.ko.gz$nls_iso8859-7.ko.gz*nls_utf8.ko.gz +=nls_euc-jp.ko.gz(nls_iso8859-2.ko.gznls_cp862.ko.gz!(nls_iso8859-4.ko.gzmac-greek.ko.gzmac-iceland.ko.gz"nls_iso8859-5.ko.gz'nls_koi8-ru.ko.gz(Tnls_koi8-u.ko.gznls_cp737.ko.gznls_cp775.ko.gzmac-inuit.ko.gzmac-romanian.ko.gz@a@j @S0@"u@e@@5P@Rɠ@f@ò@:`@Ұ@(]t* {mac-gaelic.ko.gzmac-roman.ko.gz nls_cp855.ko.gznls_cp866.ko.gz nls_cp869.ko.gz@nls_cp437.ko.gz4mac-celtic.ko.gzp@ 0}@4Z `@ͥ @_@E @k2@qR:0@n~<@P. I@@CW@\tHe@f IP?+ .L.., ntfs3.ko.gz Vr- . ...cluster0 dlm2dlmfs5 ocfs2_stack_o2cb.ko.gz6 ocfs2_stack_user.ko.gz7ocfs2_stackglue.ko.gz4 ocfs2.ko.gz ޛ0ò. .-L../ocfs2_nodemanager.ko.gz `0 .-L..1ocfs2_dlm.ko.gz 2 .-L..3ocfs2_dlmfs.ko.gz Ϸ8 .L..9 overlay.ko.gz : .L..; ramoops.ko.gz < . ..>quota_v1.ko.gz?quota_v2.ko.gz=quota_tree.ko.gz @ .L..Areiserfs.ko.gz +BB .L..C romfs.ko.gz -\D . ..EclientGcommonJserver lE .DL..F cifs.ko.gz ބG .D ..Icifs_md4.ko.gzH\cifs_arc4.ko.gz .J .DL..K ksmbd.ko.gz @5\L .L..Msquashfs.ko.gz ݓ] N .L..O sysv.ko.gz XP .L..Q udf.ko.gz 8VR .L..S ufs.ko.gz WT .L..U vboxsf.ko.gz {V .L..W xfs.ko.gz ng{X .L..Y configs.ko.gz f%Z . ..\crc-itu-t.ko.gz] crc16.ko.gz^ crc7.ko.gz_ crc8.ko.gzilibcrc32c.ko.gzjlru_cache.ko.gzt ts_bm.ko.gzu ts_fsm.ko.gzv ts_kmp.ko.gz`cryptok lz4n mathpraid6r reed_solomon[crc-ccitt.ko.gz ` .Z ..b libarc4.ko.gzclibchacha.ko.gzd$libchacha20poly1305.ko.gze$libcurve25519-generic.ko.gzflibcurve25519.ko.gzg libdes.ko.gzhXlibpoly1305.ko.gzagf128mul.ko.gz n\\k .Z ..mlz4hc_compress.ko.gzl\lz4_compress.ko.gz 5sn .ZL..o cordic.ko.gz ިlPIp .ZL..qraid6_pq.ko.gz ޹{hr .ZL..sreed_solomon.ko.gz F72w . ..x 802}8021q 9pbridge ceph core dccp ife ipv4 ipv6  key l2tp llc mplsmptcp netfilter nsh openvswitchpacketsched  sctpsunrpc tls unix vmw_vsock!xfrm އK[x .w ..z p8022.ko.gz{ psnap.ko.gz| stp.ko.gzy mrp.ko.gz rw} .wL..~ 8021q.ko.gz o .w ..9pnet_fd.ko.gz9pnet_virtio.ko.gz9pnet_xen.ko.gz 9pnet.ko.gz s0 .w .. bridge.ko.gz netfilterHbr_netfilter.ko.gz evׇ ...{Lu9i ޕ)Vebt_among.ko.gzebt_mark.ko.gzebt_nflog.ko.gzebt_pkttype.ko.gzebt_redirect.ko.gzebt_snat.ko.gz ebt_stp.ko.gzebtable_filter.ko.gzebtables.ko.gz$nf_conntrack_bridge.ko.gznft_reject_bridge.ko.gz غebt_mark_m.ko.gzebt_vlan.ko.gzebtable_broute.ko.gz4ebtable_nat.ko.gz ebt_ip.ko.gz, ebt_ip6.ko.gz ebt_arp.ko.gzhebt_arpreply.ko.gzebt_limit.ko.gz( ebt_log.ko.gzebt_dnat.ko.gzebt_802_3.ko.gze)p@0$3t;@٥,@F+:0@T8>@E@Lu9i@bRj@~g@@$4Z@(@e`@@ <ľ .wL.. libceph.ko.gz ޅVϡ .w .. pktgen.ko.gzselftests.ko.gzfailover.ko.gz :v^ .w ..dccp_diag.ko.gzdccp_ipv4.ko.gzdccp_ipv6.ko.gz dccp.ko.gz ޽?d .wL.. ife.ko.gz g .w..{aR̢ ސx¶ ...{oa zw arptable_filter.ko.gz ipt_ah.ko.gzipt_rpfilter.ko.gziptable_mangle.ko.gziptable_nat.ko.gznf_nat_h323.ko.gznf_nat_pptp.ko.gz4nft_reject_ipv4.ko.gz yl?nf_dup_ipv4.ko.gz$nf_nat_snmp_basic.ko.gziptable_raw.ko.gznf_defrag_ipv4.ko.gznf_reject_ipv4.ko.gz,nf_socket_ipv4.ko.gzip_tables.ko.gz ipt_ECN.ko.gzipt_SYNPROXY.ko.gz4iptable_filter.ko.gzipt_REJECT.ko.gznf_tproxy_ipv4.ko.gznft_dup_ipv4.ko.gznft_fib_ipv4.ko.gzarp_tables.ko.gzarpt_mangle.ko.gzʔ`@Xp@@bv8@&9t;@K@oa@i]e@8{@@5P@z@@ j: ip_gre.ko.gz ipcomp.ko.gztcp_diag.ko.gztcp_highspeed.ko.gztcp_htcp.ko.gz tcp_lp.ko.gztcp_vegas.ko.gz esp4.ko.gz` fou.ko.gz@@@t5.apk.c2ed33c0c284492116358f742907eca4fd5030b652e24dd7 ` z tcp_nv.ko.gztcp_scalable.ko.gztcp_veno.ko.gztcp_westwood.ko.gztcp_yeah.ko.gzinet_diag.ko.gz ip_vti.ko.gzudp_diag.ko.gz|xfrm4_tunnel.ko.gz netfilter  ah4.ko.gzJ4K"@Pu:@*N(X@@H'\0@̘T^@a @'gP@N}p@R̢@v•@җ@6`@Й@;p NtjGip_tunnel.ko.gz ipip.ko.gz tcp_bbr.ko.gz tcp_bic.ko.gz tcp_cdg.ko.gztcp_dctcp.ko.gztcp_hybla.ko.gztcp_illinois.ko.gz tunnel4.ko.gzudp_tunnel.ko.gz  .w ..mpls_iptunnel.ko.gzmpls_router.ko.gzmpls_gso.ko.gz %j .wL..mptcp_diag.ko.gz .Щi .w..{ `# vn1XIZyT.Og ,k' = yP ...{tW ޴~$ip_set_hash_ip.ko.gz($ip_set_hash_ipportip.ko.gz)$ip_set_hash_ipportnet.ko.gz+ ip_set_hash_net.ko.gz- ip_set_hash_netnet.ko.gz.$ip_set_hash_netport.ko.gz/$ip_set_hash_netportnet.ko.gz0ip_set_list_set.ko.gz t ip_set.ko.gz4c04bc0312c1fb9de43a38315e6915ff01bc32130+@5.apk.bc06aad7c1ed0f0696977194c065f74c1fcb487a103871dc@@t ދ@*@ip_set_hash_mac.ko.gz% ip_set_hash_ipmac.ko.gz& ip_set_hash_ipmark.ko.gz"$ip_set_bitmap_ipmac.ko.gz# ip_set_bitmap_port.ko.gz'|ip_set_hash_ipport.ko.gz! ip_set_bitmap_ip.ko.gz,ip_set_hash_netiface.ko.gzOP@Nݰ"@U,p@<-@D^([@ub@@Jy`@D}k@tWtq@6ɡ@00@jк@t  ޷1 ...{ ޔ~7f5ip_vs_ftp.ko.gz6ip_vs_lblc.ko.gz7ip_vs_lblcr.ko.gz8ip_vs_lc.ko.gz9ip_vs_mh.ko.gz:ip_vs_nq.ko.gz<ip_vs_pe_sip.ko.gz=ip_vs_rr.ko.gz?ip_vs_sh.ko.gz@ip_vs_wlc.ko.gzAHip_vs_wrr.ko.gz2 ip_vs.ko.gz33ip_vs_dh.ko.gz3c9b4551d1565901735<@5.apk.4c80cf45fb212187f3c4bbd311d28977e635bcf65a4d7548@@?@5.apk.e29705b2c69435e7a4b4f7938a0b90fdcc9e0af50ffca96ct F*D@>@ip_vs_sed.ko.gz;ip_vs_ovf.ko.gz4tip_vs_fo.ko.gz /F lnft_fwd_netdev.ko.gzrnft_numgen.ko.gz|nft_tproxy.ko.gz xt_CT.ko.gzxt_MASQUERADE.ko.gzxt_TCPMSS.ko.gzxt_TCPOPTSTRIP.ko.gz xt_hl.ko.gzxt_ipcomp.ko.gz xt_ipvs.ko.gz xt_set.ko.gzxt_statistic.ko.gz\ xt_u32.ko.gzI(nf_conntrack_netbios_ns.ko.gzJ$nf_conntrack_netlink.ko.gzpkN nf_conntrack_snmp.ko.gz1Xnf_nat_sip.ko.gz@5.apk.fa69da52f50807095aa5391c210d49f1cd2ef4a698ee0b48d6b@5.apk.44e08a6fb9f5abe0c2b614874f1fb57db9b0422bedc2ee8ct xG nf_conntrack_h323.ko.gzWnf_nat_irc.ko.gzo nft_log.ko.gzunft_quota.ko.gzx nft_reject_inet.ko.gzxt_HMARK.ko.gzxt_NETMAP.ko.gzxt_NFLOG.ko.gz xt_mac.ko.gzxt_policy.ko.gzxt_socket.ko.gzxt_tcpmss.ko.gzBnf_conncount.ko.gzFnf_conntrack_ftp.ko.gz@5.apk.930e1d8aaba19b7bc522d21c224f2d1f9203935a1de2807f@t 0#_$nfnetlink_cttimeout.ko.gzgnft_dup_netdev.ko.gzR nf_flow_table_inet.ko.gzy nft_reject_netdev.ko.gz xt_HL.ko.gz`xt_state.ko.gz d^]Vnf_nat_ftp.ko.gzs nft_osf.ko.gz{nft_synproxy.ko.gz~nft_xfrm.ko.gzxt_RATEEST.ko.gzxt_REDIRECT.ko.gz xt_TEE.ko.gzxt_connbytes.ko.gzxt_connlabel.ko.gz xt_dccp.ko.gz +@(xt_CHECKSUM.ko.gz xt_esp.ko.gz 0^h nft_fib.ko.gzw(nft_reject.ko.gzipset}nft_tunnel.ko.gz(xt_cgroup.ko.gz1 ipvsE$nf_conntrack_broadcast.ko.gzQnf_flow_table.ko.gzxt_connlimit.ko.gzxt_devgroup.ko.gz xt_ecn.ko.gz4xt_pkttype.ko.gzZ@nf_synproxy_core.ko.gzOXnf_conntrack_tftp.ko.gz hG5vnft_redir.ko.gz xt_bpf.ko.gzxt_comment.ko.gzxt_connmark.ko.gz xt_multiport.ko.gz`nfnetlink_log.ko.gzcnft_chain_nat.ko.gz xt_nat.ko.gzxt_nfacct.ko.gzxt_recent.ko.gzxt_tcpudp.ko.gzK nf_conntrack_pptp.ko.gz7M nf_conntrack_sip.ko.gzenft_connlimit.ko.gzinft_fib_inet.ko.gz@5.apk.3aeb7aa7f5b743c898e4d45a87a1a4e7fd23bf2328c77d74@t5.apk.88d6077f36ce2c5cb9471457d33c92dc0328a5614db2be02@ZyT@D\@ba&a0@i@@ mP@*o`@p GWԕxt_TRACE.ko.gz xt_cpu.ko.gz xt_mark.ko.gzxt_physdev.ko.gz$xt_rateest.ko.gz@x_tables.ko.gznnft_limit.ko.gzt(nft_queue.ko.gzY@nf_nat_tftp.ko.gzDnf_conntrack_amanda.ko.gzD/% @1 @6@`#@x/u%@`@'`@ The Registered Ports are not controlled by the IANA and on most systems #> can be used by ordinary user processes or programs executed by ordinary #> users. # #> Ports are used in the TCP [45,106] to name the ends of logical #> connections which carry long term conversations. For the purpose of #> providing services to unknown callers, a service contact port is #> defined. This list specifies the port used by the server process as its #> contact port. While the IANA can not control uses of these ports it #> does register or list uses of these ports as a convienence to the #> community. # socks 1080/tcp # socks proxy server proofd 1093/tcp rootd 1094/tcp openvpn 1194/tcp openvpn 1194/udp rmiregistry 1099/tcp # Java RMI Registry lotusnote 1352/tcp lotusnotes # Lotus Note ms-sql-s 1433/tcp # Microsoft SQL Server ms-sql-m 1434/udp # Microsoft SQL Monitor ingreslock 1524/tcp datametrics 1645/tcp old-radius datametrics 1645/udp old-radius sa-msg-port 1646/tcp old-radacct sa-msg-port 1646/udp old-radacct kermit 1649/tcp groupwise 1677/tcp l2f 1701/udp l2tp radius 1812/tcp radius 1812/udp radius-acct 1813/tcp radacct # Radius Accounting radius-acct 1813/udp radacct cisco-sccp 2000/tcp # Cisco SCCP nfs 2049/tcp # Network File System nfs 2049/udp # Network File System gnunet 2086/tcp gnunet 2086/udp rtcm-sc104 2101/tcp # RTCM SC-104 IANA 1/29/99 rtcm-sc104 2101/udp gsigatekeeper 2119/tcp gris 2135/tcp # Grid Resource Information Server cvspserver 2401/tcp # CVS client/server operations venus 2430/tcp # codacon port venus 2430/udp # Venus callback/wbc interface venus-se 2431/tcp # tcp side effects venus-se 2431/udp # udp sftp side effect codasrv 2432/tcp # not used codasrv 2432/udp # server port codasrv-se 2433/tcp # tcp side effects codasrv-se 2433/udp # udp sftp side effect mon 2583/tcp # MON traps mon 2583/udp dict 2628/tcp # Dictionary server f5-globalsite 2792/tcp gsiftp 2811/tcp gpsd 2947/tcp gds-db 3050/tcp gds_db # InterBase server icpv2 3130/udp icp # Internet Cache Protocol isns 3205/tcp # iSNS Server Port isns 3205/udp # iSNS Server Port iscsi-target 3260/tcp mysql 3306/tcp ms-wbt-server 3389/tcp nut 3493/tcp # Network UPS Tools nut 3493/udp distcc 3632/tcp # distributed compiler daap 3689/tcp # Digital Audio Access Protocol svn 3690/tcp subversion # Subversion protocol suucp 4031/tcp # UUCP over SSL sysrqd 4094/tcp # sysrq daemon sieve 4190/tcp # ManageSieve Protocol epmd 4369/tcp # Erlang Port Mapper Daemon remctl 4373/tcp # Remote Authenticated Command Service f5-iquery 4353/tcp # F5 iQuery ntske 4460/tcp # Network Time Security Key Establishment ipsec-nat-t 4500/udp # IPsec NAT-Traversal [RFC3947] iax 4569/udp # Inter-Asterisk eXchange mtn 4691/tcp # monotone Netsync Protocol radmin-port 4899/tcp # RAdmin Port sip 5060/tcp # Session Initiation Protocol sip 5060/udp sip-tls 5061/tcp sip-tls 5061/udp xmpp-client 5222/tcp jabber-client # Jabber Client Connection xmpp-server 5269/tcp jabber-server # Jabber Server Connection cfengine 5308/tcp mdns 5353/udp # Multicast DNS postgresql 5432/tcp postgres # PostgreSQL Database freeciv 5556/tcp rptp # Freeciv gameplay amqps 5671/tcp # AMQP protocol over TLS/SSL amqp 5672/tcp amqp 5672/sctp x11 6000/tcp x11-0 # X Window System x11-1 6001/tcp x11-2 6002/tcp x11-3 6003/tcp x11-4 6004/tcp x11-5 6005/tcp x11-6 6006/tcp x11-7 6007/tcp gnutella-svc 6346/tcp # gnutella gnutella-svc 6346/udp gnutella-rtr 6347/tcp # gnutella gnutella-rtr 6347/udp redis 6379/tcp sge-qmaster 6444/tcp sge_qmaster # Grid Engine Qmaster Service sge-execd 6445/tcp sge_execd # Grid Engine Execution Service mysql-proxy 6446/tcp # MySQL Proxy babel 6696/udp # Babel Routing Protocol ircs-u 6697/tcp # Internet Relay Chat via TLS/SSL bbs 7000/tcp afs3-fileserver 7000/udp afs3-callback 7001/udp # callbacks to cache managers afs3-prserver 7002/udp # users & groups database afs3-vlserver 7003/udp # volume location database afs3-kaserver 7004/udp # AFS/Kerberos authentication afs3-volser 7005/udp # volume managment server afs3-bos 7007/udp # basic overseer process afs3-update 7008/udp # server-to-server updater afs3-rmtsys 7009/udp # remote cache manager service font-service 7100/tcp xfs # X Font Service http-alt 8080/tcp webcache # WWW caching service puppet 8140/tcp # The Puppet master service bacula-dir 9101/tcp # Bacula Director bacula-fd 9102/tcp # Bacula File Daemon bacula-sd 9103/tcp # Bacula Storage Daemon xmms2 9667/tcp # Cross-platform Music Multiplexing System nbd 10809/tcp # Linux Network Block Device zabbix-agent 10050/tcp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper amanda 10080/tcp # amanda backup services dicom 11112/tcp hkp 11371/tcp # OpenPGP HTTP Keyserver db-lsp 17500/tcp # Dropbox LanSync Protocol dcap 22125/tcp # dCache Access Protocol gsidcap 22128/tcp # GSI dCache Access Protocol wnn6 22273/tcp # wnn6 # # Datagram Delivery Protocol services # rtmp 1/ddp # Routing Table Maintenance Protocol nbp 2/ddp # Name Binding Protocol echo 4/ddp # AppleTalk Echo Protocol zip 6/ddp # Zone Information Protocol #========================================================================= # The remaining port numbers are not as allocated by IANA. #========================================================================= # Kerberos (Project Athena/MIT) services kerberos4 750/udp kerberos-iv kdc # Kerberos (server) kerberos4 750/tcp kerberos-iv kdc kerberos-master 751/udp kerberos_master # Kerberos authentication kerberos-master 751/tcp passwd-server 752/udp passwd_server # Kerberos passwd server krb-prop 754/tcp krb_prop krb5_prop hprop # Kerberos slave propagation zephyr-srv 2102/udp # Zephyr server zephyr-clt 2103/udp # Zephyr serv-hm connection zephyr-hm 2104/udp # Zephyr hostmanager iprop 2121/tcp # incremental propagation supfilesrv 871/tcp # Software Upgrade Protocol server supfiledbg 1127/tcp # Software Upgrade Protocol debugging # # Services added for the Debian GNU/Linux distribution # poppassd 106/tcp # Eudora moira-db 775/tcp moira_db # Moira database moira-update 777/tcp moira_update # Moira update protocol moira-ureg 779/udp moira_ureg # Moira user registration spamd 783/tcp # spamassassin daemon skkserv 1178/tcp # skk jisho server port predict 1210/udp # predict -- satellite tracking rmtcfg 1236/tcp # Gracilis Packeten remote config server xtel 1313/tcp # french minitel xtelw 1314/tcp # french minitel zebrasrv 2600/tcp # zebra service zebra 2601/tcp # zebra vty ripd 2602/tcp # ripd vty (zebra) ripngd 2603/tcp # ripngd vty (zebra) ospfd 2604/tcp # ospfd vty (zebra) bgpd 2605/tcp # bgpd vty (zebra) ospf6d 2606/tcp # ospf6d vty (zebra) ospfapi 2607/tcp # OSPF-API isisd 2608/tcp # ISISd vty (zebra) fax 4557/tcp # FAX transmission service (old) hylafax 4559/tcp # HylaFAX client-server protocol (new) munin 4949/tcp lrrd # Munin rplay 5555/udp # RPlay audio service nrpe 5666/tcp # Nagios Remote Plugin Executor nsca 5667/tcp # Nagios Agent - NSCA canna 5680/tcp # cannaserver syslog-tls 6514/tcp # Syslog over TLS [RFC5425] sane-port 6566/tcp sane saned # SANE network scanner daemon ircd 6667/tcp # Internet Relay Chat zope-ftp 8021/tcp # zope management by ftp tproxy 8081/tcp # Transparent Proxy omniorb 8088/tcp # OmniORB clc-build-daemon 8990/tcp # Common lisp build daemon xinetd 9098/tcp git 9418/tcp # Git Version Control System zope 9673/tcp # zope server webmin 10000/tcp kamanda 10081/tcp # amanda backup services (Kerberos) amandaidx 10082/tcp # amanda backup services amidxtape 10083/tcp # amanda backup services sgi-cmsd 17001/udp # Cluster membership services daemon sgi-crsd 17002/udp sgi-gcd 17003/udp # SGI Group membership daemon sgi-cad 17004/tcp # Cluster Admin daemon binkp 24554/tcp # binkp fidonet protocol asp 27374/tcp # Address Search Protocol asp 27374/udp csync2 30865/tcp # cluster synchronization tool dircproxy 57000/tcp # Detachable IRC Proxy tfido 60177/tcp # fidonet EMSI over telnet fido 60179/tcp # fidonet EMSI over TCP # Local services # valid login shells /bin/sh /bin/ash # content of this file will override /etc/sysctl.d/* usr/bin/[ usr/bin/[[ sbin/acpid usr/sbin/add-shell usr/sbin/addgroup usr/sbin/adduser sbin/adjtimex bin/arch sbin/arp usr/sbin/arping bin/ash usr/bin/awk bin/base64 usr/bin/basename bin/bbconfig usr/bin/bc usr/bin/beep usr/bin/blkdiscard sbin/blkid sbin/blockdev usr/sbin/brctl usr/bin/bunzip2 usr/bin/bzcat usr/bin/bzip2 usr/bin/cal bin/cat bin/chattr bin/chgrp bin/chmod bin/chown usr/sbin/chpasswd usr/sbin/chroot usr/bin/chvt usr/bin/cksum usr/bin/clear usr/bin/cmp usr/bin/comm bin/cp usr/bin/cpio usr/sbin/crond usr/bin/crontab usr/bin/cryptpw usr/bin/cut bin/date usr/bin/dc bin/dd usr/bin/deallocvt usr/sbin/delgroup usr/sbin/deluser sbin/depmod bin/df usr/bin/diff usr/bin/dirname bin/dmesg bin/dnsdomainname usr/bin/dos2unix usr/bin/du bin/dumpkmap bin/echo bin/egrep usr/bin/eject usr/bin/env usr/sbin/ether-wake usr/bin/expand usr/bin/expr usr/bin/factor usr/bin/fallocate bin/false bin/fatattr usr/sbin/fbset sbin/fbsplash bin/fdflush sbin/fdisk bin/fgrep usr/bin/find sbin/findfs usr/bin/flock usr/bin/fold usr/bin/free sbin/fsck sbin/fstrim bin/fsync usr/bin/fuser bin/getopt sbin/getty bin/grep usr/bin/groups bin/gunzip bin/gzip sbin/halt usr/bin/hd usr/bin/head usr/bin/hexdump usr/bin/hostid bin/hostname sbin/hwclock usr/bin/id sbin/ifconfig sbin/ifdown sbin/ifenslave sbin/ifup sbin/init sbin/inotifyd sbin/insmod usr/bin/install bin/ionice bin/iostat sbin/ip sbin/ipaddr bin/ipcalc usr/bin/ipcrm usr/bin/ipcs sbin/iplink sbin/ipneigh sbin/iproute sbin/iprule sbin/iptunnel bin/kbd_mode bin/kill usr/bin/killall usr/sbin/killall5 sbin/klogd usr/bin/last usr/bin/less bin/link bin/linux32 bin/linux64 bin/ln usr/sbin/loadfont sbin/loadkmap usr/bin/logger bin/login sbin/logread sbin/losetup bin/ls bin/lsattr sbin/lsmod usr/bin/lsof usr/bin/lsusb usr/bin/lzcat usr/bin/lzma bin/lzop usr/bin/lzopcat bin/makemime usr/bin/md5sum sbin/mdev usr/bin/mesg usr/bin/microcom bin/mkdir sbin/mkdosfs usr/bin/mkfifo sbin/mkfs.vfat bin/mknod usr/bin/mkpasswd sbin/mkswap bin/mktemp sbin/modinfo sbin/modprobe bin/more bin/mount bin/mountpoint bin/mpstat bin/mv sbin/nameif usr/sbin/nanddump usr/sbin/nandwrite usr/sbin/nbd-client usr/bin/nc bin/netstat bin/nice usr/bin/nl usr/bin/nmeter usr/bin/nohup sbin/nologin usr/bin/nproc usr/bin/nsenter usr/bin/nslookup usr/sbin/ntpd usr/bin/od usr/bin/openvt usr/sbin/partprobe usr/bin/passwd usr/bin/paste usr/bin/pgrep bin/pidof bin/ping bin/ping6 bin/pipe_progress sbin/pivot_root usr/bin/pkill usr/bin/pmap sbin/poweroff bin/printenv usr/bin/printf bin/ps usr/bin/pscan usr/bin/pstree bin/pwd usr/bin/pwdx sbin/raidautorun usr/sbin/rdate usr/sbin/rdev usr/sbin/readahead usr/bin/readlink usr/bin/realpath sbin/reboot bin/reformime usr/sbin/remove-shell usr/bin/renice usr/bin/reset usr/bin/resize bin/rev usr/sbin/rfkill bin/rm bin/rmdir sbin/rmmod sbin/route bin/run-parts bin/sed usr/sbin/sendmail usr/bin/seq sbin/setconsole usr/sbin/setfont usr/bin/setkeycodes usr/sbin/setlogcons bin/setpriv bin/setserial usr/bin/setsid bin/sh usr/bin/sha1sum usr/bin/sha256sum usr/bin/sha3sum usr/bin/sha512sum usr/bin/showkey usr/bin/shred usr/bin/shuf sbin/slattach bin/sleep usr/bin/sort usr/bin/split bin/stat usr/bin/strings bin/stty bin/su usr/bin/sum sbin/swapoff sbin/swapon sbin/switch_root bin/sync sbin/sysctl sbin/syslogd usr/bin/tac usr/bin/tail bin/tar usr/bin/tee usr/bin/test usr/bin/time usr/bin/timeout usr/bin/top bin/touch usr/bin/tr usr/bin/traceroute usr/bin/traceroute6 usr/bin/tree bin/true usr/bin/truncate usr/bin/tty usr/bin/ttysize sbin/tunctl sbin/udhcpc usr/bin/udhcpc6 bin/umount bin/uname usr/bin/unexpand usr/bin/uniq usr/bin/unix2dos usr/bin/unlink usr/bin/unlzma usr/bin/unlzop usr/bin/unshare usr/bin/unxz usr/bin/unzip usr/bin/uptime bin/usleep usr/bin/uudecode usr/bin/uuencode sbin/vconfig usr/bin/vi usr/bin/vlock usr/bin/volname bin/watch sbin/watchdog usr/bin/wc usr/bin/wget usr/bin/which usr/bin/who usr/bin/whoami usr/bin/whois usr/bin/xargs usr/bin/xxd usr/bin/xzcat usr/bin/yes bin/zcat sbin/zcip /var/log/acpid.log { missingok notifempty sharedscripts postrotate /etc/init.d/acpid --quiet --ifstarted restart || true endscript } #!/bin/sh # Block ifup until DAD completion # Copyright (c) 2016-2018 Kaarle Ritvanen has_flag() { ip address show dev $IFACE up | grep -q " $1 " } counter=100 while [ "$counter" -gt 0 ] && has_flag tentative && ! has_flag dadfailed; do sleep 0.2 counter=$((counter - 1)) done console tty0 tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9 tty10 tty11 hvc0 ttyS0 ttyS1 ttyS2 ttyGS0 ttyAMA0 ttyAMA1 ttyTCU0 ttyTHS0 ttyTHS1 ttymxc0 ttymxc2 # Do not overwrite /etc/resolv.conf #RESOLV_CONF="no" # Use alternative path for resolv.conf #RESOLV_CONF="/tmp/resolv.conf" # Prevent overwriting of resolv.conf on a per-interface basis #NO_DNS="eth1 wlan1" # List of interfaces where DHCP routes are ignored #NO_GATEWAY="eth1 wlan1" #!/bin/sh # script for udhcpc # Copyright (c) 2008 Natanael Copa UDHCPC="/etc/udhcpc" UDHCPC_CONF="$UDHCPC/udhcpc.conf" RESOLV_CONF="/etc/resolv.conf" [ -f $UDHCPC_CONF ] && . $UDHCPC_CONF export broadcast export dns export domain export interface export ip export mask export metric export staticroutes export router export subnet export PATH=/usr/bin:/bin:/usr/sbin:/sbin run_scripts() { local dir=$1 if [ -d $dir ]; then for i in $dir/*; do [ -f $i ] && $i done fi } deconfig() { ip -4 addr flush dev $interface } is_wifi() { test -e /sys/class/net/$interface/phy80211 } if_index() { if [ -e /sys/class/net/$interface/ifindex ]; then cat /sys/class/net/$interface/ifindex else ip -4 link show dev $interface | head -n1 | cut -d: -f1 fi } calc_metric() { local base= if is_wifi; then base=300 else base=200 fi echo $(( $base + $(if_index) )) } route_add() { local to=$1 gw=$2 num=$3 # special case for /32 subnets: # /32 instructs kernel to always use routing for all outgoing packets # (they can never be sent to local subnet - there is no local subnet for /32). # Used in datacenters, avoids the need for private ip-addresses between two hops. if [ "$subnet" = "255.255.255.255" ]; then ip -4 route add $gw dev $interface fi ip -4 route add $to via $gw dev $interface \ metric $(( $num + ${IF_METRIC:-$(calc_metric)} )) } routes() { [ -z "$router" ] && [ -z "$staticroutes" ] && return for i in $NO_GATEWAY; do [ "$i" = "$interface" ] && return done while ip -4 route del default via dev $interface 2>/dev/null; do : done local num=0 # RFC3442: # If the DHCP server returns both a Classless Static Routes option # and a Router option, the DHCP client MUST ignore the Router option. if [ -n "$staticroutes" ]; then # static routes format: dest1/mask gw1 ... destn/mask gwn set -- $staticroutes while [ -n "$1" ] && [ -n "$2" ]; do local dest="$1" gw="$2" if [ "$gw" != "0.0.0.0" ]; then route_add $dest $gw $num && num=$(( $num + 1)) fi shift 2 done else local gw= for gw in $router; do route_add 0.0.0.0/0 $gw $num && num=$(( $num + 1 )) done fi } resolvconf() { local i [ -n "$IF_PEER_DNS" ] && [ "$IF_PEER_DNS" != "yes" ] && return if [ "$RESOLV_CONF" = "no" ] || [ "$RESOLV_CONF" = "NO" ] \ || [ -z "$RESOLV_CONF" ] || [ -z "$dns" ]; then return fi for i in $NO_DNS; do [ "$i" = "$interface" ] && return done echo -n > "$RESOLV_CONF.$$" if [ -n "$search" ]; then echo "search $search" >> "$RESOLV_CONF.$$" elif [ -n "$domain" ]; then echo "search $domain" >> "$RESOLV_CONF.$$" fi for i in $dns; do echo "nameserver $i" >> "$RESOLV_CONF.$$" done chmod a+r "$RESOLV_CONF.$$" mv -f "$RESOLV_CONF.$$" "$RESOLV_CONF" } bound() { ip -4 addr add $ip/$mask ${broadcast:+broadcast $broadcast} dev $interface ip -4 link set dev $interface up routes resolvconf } renew() { if ! ip -4 addr show dev $interface | grep $ip/$mask; then ip -4 addr flush dev $interface ip -4 addr add $ip/$mask ${broadcast:+broadcast $broadcast} dev $interface fi local i for i in $router; do if ! ip -4 route show | grep ^default | grep $i; then routes break fi done if ! grep "^search $domain"; then resolvconf return fi for i in $dns; do if ! grep "^nameserver $i"; then resolvconf return fi done } case "$1" in deconfig|renew|bound) run_scripts $UDHCPC/pre-$1 $1 run_scripts $UDHCPC/post-$1 ;; leasefail) echo "udhcpc failed to get a DHCP lease" >&2 ;; nak) echo "udhcpc received DHCP NAK" >&2 ;; *) echo "Error: this script should be called from udhcpc" >&2 exit 1 ;; esac exit 0 # do daily/weekly/monthly maintenance # min hour day month weekday command */15 * * * * run-parts /etc/periodic/15min 0 * * * * run-parts /etc/periodic/hourly 0 2 * * * run-parts /etc/periodic/daily 0 3 * * 6 run-parts /etc/periodic/weekly 0 5 1 * * run-parts /etc/periodic/monthly # Aliases to tell insmod/modprobe which modules to use # Uncomment the network protocols you don't want loaded: # alias net-pf-1 off # Unix # alias net-pf-2 off # IPv4 # alias net-pf-3 off # Amateur Radio AX.25 # alias net-pf-4 off # IPX # alias net-pf-5 off # DDP / appletalk # alias net-pf-6 off # Amateur Radio NET/ROM # alias net-pf-9 off # X.25 # alias net-pf-10 off # IPv6 # alias net-pf-11 off # ROSE / Amateur Radio X.25 PLP # alias net-pf-19 off # Acorn Econet alias char-major-10-175 agpgart alias char-major-10-200 tun alias char-major-81 bttv alias char-major-108 ppp_generic alias /dev/ppp ppp_generic alias tty-ldisc-3 ppp_async alias tty-ldisc-14 ppp_synctty alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate # Crypto modules (see http://www.kerneli.org/) alias loop-xfer-gen-0 loop_gen alias loop-xfer-3 loop_fish2 alias loop-xfer-gen-10 loop_gen alias cipher-2 des alias cipher-3 fish2 alias cipher-4 blowfish alias cipher-6 idea alias cipher-7 serp6f alias cipher-8 mars6 alias cipher-11 rc62 alias cipher-15 dfc2 alias cipher-16 rijndael alias cipher-17 rc5 # Support for i2c and lm_sensors alias char-major-89 i2c-dev # xfrm alias xfrm-type-2-4 xfrm4_tunnel alias xfrm-type-2-50 esp4 alias xfrm-type-2-51 ah4 alias xfrm-type-2-108 ipcomp alias xfrm-type-10-41 xfrm6_tunnel alias xfrm-type-10-50 esp6 alias xfrm-type-10-51 ah6 alias xfrm-type-10-108 ipcomp6 alias sha1 sha1-generic # change to aes-i586 to boost performance alias aes aes-generic # # Listing a module here prevents the hotplug scripts from loading it. # Usually that'd be so that some other driver will bind it instead, # no matter which driver happens to get probed first. Sometimes user # mode tools can also control driver binding. # tulip ... de4x5, xircom_tulip_cb, dmfe (...) handle same devices blacklist de4x5 # At least 2.4.3 and later xircom_tulip doesn't have that conflict # xircom_tulip_cb blacklist dmfe #evbug is a debug tool and should be loaded explicitly blacklist evbug # Alternate 8139 driver. Some 8139 cards need this specific driver, # though... # blacklist 8139cp # Ethernet over IEEE1394 module. In too many cases this will load # when there's no eth1394 device present (just an IEEE1394 port) blacklist eth1394 # This module causes many Intel motherboards to crash and reboot. blacklist i8xx-tco # The kernel lists this as "experimental", but for now it's "broken" blacklist via-ircc # ALSA modules to support sound modems. These should be loaded manually # if needed. For most people they just break sound support... blacklist snd-atiixp-modem blacklist snd-intel8x0m blacklist snd-via82xx-modem # we don't want use the pc speaker blacklist snd-pcsp # Alternative module to Orinoco Wireless Cards. blacklist hostap blacklist hostap_cs # framebuffer drivers blacklist aty128fb blacklist atyfb blacklist radeonfb blacklist i810fb blacklist cirrusfb blacklist intelfb blacklist kyrofb blacklist i2c-matroxfb blacklist hgafb blacklist nvidiafb blacklist rivafb blacklist savagefb blacklist sstfb blacklist neofb blacklist tridentfb blacklist tdfxfb blacklist viafb blacklist virgefb blacklist vga16fb blacklist matroxfb_base blacklist vt8623fb # blacklist 1394 drivers blacklist ohci1394 blacklist video1394 blacklist dv1394 # blacklist mISDN dirver by default as we prefer dahdi drivers blacklist hfcmulti blacklist hfcpci blacklist hfcsusb # blacklist C7 cpu freq. use acpi-cpufreq instead blacklist e_powersaver blacklist microcode # needs init config, not compatible with acpid # https://gitlab.alpinelinux.org/alpine/aports/-/issues/12999 blacklist tiny_power_button alias parport_lowlevel parport_pc alias char-major-10-144 nvram alias binfmt-0064 binfmt_aout alias char-major-10-135 rtc # enable modeset options radeon modeset=1 options i915 modeset=1 options nouveau modeset=1 Welcome to Alpine! The Alpine Wiki contains a large amount of how-to guides and general information about administrating Alpine systems. See . You can setup the system with the command: setup-alpine You may change this message by editing /etc/motd. export CHARSET=${CHARSET:-UTF-8} export LANG=${LANG:-C.UTF-8} export LC_COLLATE=${LC_COLLATE:-C} This directory should contain shell scripts configuring system-wide environment on users' shells. Files with the .sh extension found in this directory are evaluated by Bourne-compatible shells (like ash, bash or zsh) when started as a login shell. # Setup a red prompt for root and a green one for users. # Symlink this file to color_prompt.sh to actually enable it. _normal=$'\e[0m' if [ "$USER" = root ]; then _color=$'\e[1;31m' _symbol='#' else _color=$'\e[1;32m' _symbol='$' fi if [ -n "$ZSH_VERSION" ]; then PS1="%{$_color%}%m [%{$_normal%}%~%{$_color%}]$_symbol %{$_normal%}" else PS1="\[$_color\]\h [\[$_normal\]\w\[$_color\]]$_symbol \[$_normal\]" fi unset _normal _color _symbol # Prevents SYN DOS attacks. Applies to ipv6 as well, despite name. net.ipv4.tcp_syncookies = 1 # Prevents ip spoofing. net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.all.rp_filter = 1 # Only groups within this id range can use ping. net.ipv4.ping_group_range=999 59999 # Redirects can potentially be used to maliciously alter hosts # routing tables. net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 1 net.ipv6.conf.all.accept_redirects = 0 # The source routing feature includes some known vulnerabilities. net.ipv4.conf.all.accept_source_route = 0 net.ipv6.conf.all.accept_source_route = 0 # See RFC 1337 net.ipv4.tcp_rfc1337 = 1 ## Enable IPv6 Privacy Extensions (see RFC4941 and RFC3041) net.ipv6.conf.default.use_tempaddr = 2 net.ipv6.conf.all.use_tempaddr = 2 # Restarts computer after 120 seconds after kernel panic kernel.panic = 120 # Users should not be able to create soft or hard links to files # which they do not own. This mitigates several privilege # escalation vulnerabilities. fs.protected_hardlinks = 1 fs.protected_symlinks = 1 # Disable unprivileged use of the bpf(2) syscall. # Allowing unprivileged use of the bpf(2) syscall may allow a # malicious user to compromise the machine. kernel.unprivileged_bpf_disabled = 1 #!/bin/sh [ -z "$IF_BOND_MEMBERS" ] && IF_BOND_MEMBERS="$IF_BOND_SLAVES" case "$PHASE" in depend) echo "$IF_BOND_MEMBERS" ;; esac #!/bin/sh case "$PHASE" in depend) if [ "$IF_BRIDGE_PORTS" != "none" ]; then echo "$IF_BRIDGE_PORTS" fi ;; esac #!/bin/sh # some users provide a shell fragment for the hostname property. [ -n "$IF_DHCP_HOSTNAME" ] && IF_DHCP_HOSTNAME=$(eval echo $IF_DHCP_HOSTNAME) determine_implementation() { [ -n "$IF_DHCP_PROGRAM" ] && echo "$IF_DHCP_PROGRAM" && return [ -x /sbin/dhcpcd ] && echo "dhcpcd" && return [ -x /usr/sbin/dhclient ] && echo "dhclient" && return [ -x /sbin/udhcpc ] && echo "udhcpc" && return echo "could not find a supported DHCP implementation" exit 1 } start() { case "$1" in dhcpcd) [ -n "$IF_DHCP_HOSTNAME" ] && optargs="$optargs -h $IF_DHCP_HOSTNAME" [ -n "$IF_DHCP_VENDOR" ] && optargs="$optargs -i $IF_DHCP_VENDOR" [ -n "$IF_DHCP_CLIENT_ID" ] && optargs="$optargs -i $IF_DHCP_CLIENT_ID" [ -n "$IF_DHCP_LEASETIME" ] && optargs="$optargs -l $IF_DHCP_LEASETIME" ${MOCK} /sbin/dhcpcd $optargs $IFACE ;; dhclient) # Specific config file given? if [ -n "$IF_DHCP_CONFIG" ]; then optargs="$optargs -cf $IF_DHCP_CONFIG" fi ${MOCK} /usr/sbin/dhclient -pf /var/run/dhclient.$IFACE.pid $optargs $IFACE ;; udhcpc) optargs=$(eval echo $IF_UDHCPC_OPTS) [ -n "$IF_DHCP_HOSTNAME" ] && optargs="$optargs -x hostname:$IF_DHCP_HOSTNAME" [ -n "$IF_DHCP_CLIENT_ID" ] && optargs="$optargs -c $IF_DHCP_CLIENT_ID" [ -n "$IF_DHCP_SCRIPT" ] && optargs="$optargs -s $IF_DHCP_SCRIPT" ${MOCK} /sbin/udhcpc -b -R -p /var/run/udhcpc.$IFACE.pid -i $IFACE $optargs ;; *) ;; esac } stop() { case "$1" in dhcpcd) ${MOCK} /sbin/dhcpcd -k $IFACE ;; dhclient) ${MOCK} kill -9 $(cat /var/run/dhclient.$IFACE.pid) 2>/dev/null ;; udhcpc) ${MOCK} kill $(cat /var/run/udhcpc.$IFACE.pid) ;; *) ;; esac } impl=$(determine_implementation) [ -z "$VERBOSE" ] || set -x case "$PHASE" in up) start $impl ;; down) stop $impl || true ;; *) ;; esac #!/bin/sh yesno() { case "$1" in yes|1) echo 1 ;; *) echo 0 ;; esac } [ "$PHASE" != "up" ] && exit 0 [ -z "$VERBOSE" ] || set -x [ -n "$IF_FORWARD_IPV4" ] && ${MOCK} /bin/sh -c "echo $(yesno $IF_FORWARD_IPV4) > /proc/sys/net/ipv4/conf/$IFACE/forwarding" [ -n "$IF_FORWARD_IPV6" ] && ${MOCK} /bin/sh -c "echo $(yesno $IF_FORWARD_IPV6) > /proc/sys/net/ipv6/conf/$IFACE/forwarding" [ -n "$IF_FORWARD_IPV4_MC" ] && ${MOCK} /bin/sh -c "echo $(yesno $IF_FORWARD_IPV4_MC) > /proc/sys/net/ipv4/conf/$IFACE/mc_forwarding" [ -n "$IF_FORWARD_IPV6_MC" ] && ${MOCK} /bin/sh -c "echo $(yesno $IF_FORWARD_IPV6_MC) > /proc/sys/net/ipv6/conf/$IFACE/mc_forwarding" exit 0 #!/bin/sh start() { ${MOCK} /bin/sh -c "echo 1 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra" } stop() { ${MOCK} /bin/sh -c "echo 0 > /proc/sys/net/ipv6/conf/$IFACE/accept_ra" } [ -z "$VERBOSE" ] || set -x case "$PHASE" in up) start $impl ;; down) stop $impl ;; *) ;; esac #!/bin/sh [ -n "$VERBOSE" ] && set -x is_vlan() { case "$IFACE" in *#*) return 1 ;; *:*) return 1 ;; vlan*.*) return 1 ;; vlan*) IF_VLAN_ID="${IFACE#vlan}" [ -n "${IF_VLAN_RAW_DEVICE:-}" ] && return 0 return 1 ;; *.*) IF_VLAN_RAW_DEVICE="${IFACE%.*}" IF_VLAN_ID="${IFACE##*.}" return 0 ;; *) [ -z "${IF_VLAN_ID:-}" ] && return 1 [ -z "${IF_VLAN_RAW_DEVICE:-}" ] && return 1 return 0 ;; esac } case "$PHASE" in depend) # vlan-raw-device if is_vlan; then echo "$IF_VLAN_RAW_DEVICE" # veth-peer-name elif [ "${IF_LINK_TYPE}" = "veth" -a "${IF_VETH_PEER_NAME}" ]; then echo "${IF_VETH_PEER_NAME}" fi ;; create) if [ "${IF_LINK_TYPE}" = "dummy" ]; then if [ -d "/sys/class/net/${IFACE}" ]; then iface_type=$(ip -d link show dev "${IFACE}" | head -n3 | tail -n1 | awk '{ print $1 }') if [ "${iface_type}" != 'dummy' ]; then echo "Interface ${IFACE} exists but is of type ${iface_type} instead of dummy" exit 1 fi exit 0 fi ${MOCK} ip link add "${IFACE}" type dummy elif [ "${IF_LINK_TYPE}" = "veth" ]; then if [ ! -d "/sys/class/net/${IFACE}" ]; then ARGS="" if [ "${IF_VETH_PEER_NAME}" ]; then ARGS="peer ${IF_VETH_PEER_NAME}" fi ${MOCK} ip link add "${IFACE}" type veth ${ARGS} fi elif is_vlan; then if [ -d "/sys/class/net/${IFACE}" ]; then exit 0 fi if [ -z "${MOCK}" ]; then if [ ! -d "/sys/class/net/${IF_VLAN_RAW_DEVICE}" ]; then echo "Underlay device ${IF_VLAN_RAW_DEVICE} for ${IFACE} does not exist" exit 1 fi if ! [ -d /proc/net/vlan ]; then echo "Loading 8021q kernel module for VLAN support" ${MOCK} modprobe 8021q fi fi ${MOCK} ip link add link "${IF_VLAN_RAW_DEVICE}" name "${IFACE}" type vlan id "${IF_VLAN_ID}" fi ;; up) IF_LINK_OPTIONS="$IF_LINK_OPTIONS" [ -n "$IF_MTU" ] && IF_LINK_OPTIONS="$IF_LINK_OPTIONS mtu $IF_MTU" [ -n "$IF_HWADDRESS" ] && IF_LINK_OPTIONS="$IF_LINK_OPTIONS address $IF_HWADDRESS" ${MOCK} ip link set up dev "${IFACE}" ${IF_LINK_OPTIONS} # Set alias is configured if [ "${IF_ALIAS}" ]; then ${MOCK} ip link set alias "${IF_ALIAS}" dev "${IFACE}" fi ;; down) # Don't complain about a vanished interface when downing it if [ -z "${MOCK}" -a ! -d "/sys/class/net/${IFACE}" ]; then exit 0 fi ${MOCK} ip link set down dev "${IFACE}" ;; destroy) if [ "${IF_LINK_TYPE}" = "dummy" ] || [ "${IF_LINK_TYPE}" = "veth" ] || is_vlan; then if [ -z "${MOCK}" -a ! -d "/sys/class/net/${IFACE}" ]; then exit 0 fi ${MOCK} ip link del "${IFACE}" fi ;; esac #!/bin/sh [ -z "${VERBOSE}" ] || set -x [ -z "${IF_METRIC}" ] && IF_METRIC="1" [ -n "${IF_VRF_TABLE}" ] && VRF_TABLE="table ${IF_VRF_TABLE}" [ -n "${IF_VRF_MEMBER}" ] && VRF_TABLE="vrf ${IF_VRF_MEMBER}" [ -n "${IF_METRIC}" ] && METRIC="metric ${IF_METRIC}" addr_family() { if [ "$1" != "${1#*[0-9].[0-9]}" ]; then echo "-4" elif [ "$1" != "${1#*:[0-9a-fA-F]}" ]; then echo "-6" else exit 1 fi } configure_addresses() { for addr in ${IF_ADDRESSES}; do addrfam=$(addr_family ${addr}) if [ "${IF_POINT_TO_POINT}" -a "${addrfam}" = "-4" ]; then PEER="peer ${IF_POINT_TO_POINT}" else PEER="" fi ${MOCK} ip "${addrfam}" addr add "${addr}" ${PEER} dev "${IFACE}" done } configure_gateways() { for gw in ${IF_GATEWAYS}; do addrfam=$(addr_family ${gw}) ${MOCK} ip "${addrfam}" route add default via "${gw}" ${VRF_TABLE} ${METRIC} dev "${IFACE}" onlink done } flush() { cmd="addr" arg="dev ${IFACE}" ${MOCK} ip ${cmd} flush ${arg} } case "$PHASE" in up) configure_addresses add configure_gateways add ;; down) flush ;; *) exit 0 ;; esac # List of /tmp directories we should clean up clean_tmp_dirs="/tmp" # Should we wipe the tmp paths completely or just selectively remove known # locks / files / etc... ? wipe_tmp="NO" # Write the initial dmesg log into /var/log/dmesg after boot # This may be useful if you need the kernel boot log afterwards log_dmesg="YES" # Save the previous dmesg log to dmesg.old # This may be useful if you need to compare the current boot to the # previous one. #previous_dmesg=no # The consolefont service is not activated by default. If you need to # use it, you should run "rc-update add consolefont boot" as root. # # consolefont specifies the default font that you'd like Linux to use on the # console. You can find a good selection of fonts in /usr/share/consolefonts; consolefont="default8x16.psf.gz" # consoletranslation is the charset map file to use. Leave commented to use # the default one. Have a look in /usr/share/consoletrans for a selection of # map files you can use. #consoletranslation="8859-1_to_uni.trans" # OpenRC will attempt each of the following in succession to mount /dev. # # 1. If there is an entry for /dev in fstab, it will be used. # 2. If devtmpfs is defined in the kernel, it will be used. # 3. If tmpfs is defined in the kernel, it will be used. # # Set this to yes if you do not want OpenRC to attempt to mount /dev. # skip_mount_dev="NO" # Sets the level at which logging of messages is done to the # console. See dmesg(1) for more info. dmesg_level="1" # Pass any arguments to fsck. # By default we preen. # Linux systems also force -C0 and -T. # If fsck_args is not specified then Linux systems also use -A # (and -R if / is rw) #fsck_args="-p" # We can also specify the passno in /etc/fstab to check # If you multiplex fsck (ie ln -s fsck /etc/init.d/fsck.late) then you can # do an fsck outside of the normal scope, say for /home. # Here are some examples:- #fsck_passno="=1 =2" #fsck_passno=">1" #fsck_passno="<2" # If passno is not enough granularity, you can also specify mountpoints to # check. This should NOT be used for the default non-multiplexed fsck, or your # system might not be checked. Additionally, it is mutually exclusive with # the fsck_passno setting. #fsck_mnt="" #fsck_mnt="/home" # Most modern fs's don't require a full fsck on boot, but for those that do # it may be advisable to skip this when running on battery. # WARNING: Do not turn this off if you have any JFS partitions. fsck_on_battery="YES" # fsck_shutdown causes fsck to trigger during shutdown as well as startup. # The end result of this is that if any periodic non-root filesystem checks are # scheduled, under normal circumstances the actual check will happen during # shutdown rather than at next boot. # This is useful when periodic filesystem checks are causing undesirable # delays at startup, but such delays at shutdown are acceptable. fsck_shutdown="NO" # fsck_abort_on_errors can be set to no to cause fsck to not abort on # errors. # This is useful when periodic filesystem checks are causing undesirable # aborts. fsck_abort_on_errors="YES" # Set CLOCK to "UTC" if your Hardware Clock is set to UTC (also known as # Greenwich Mean Time). If that clock is set to the local time, then # set CLOCK to "local". Note that if you dual boot with Windows, then # you should set it to "local". clock="UTC" # If you want the hwclock script to set the system time (software clock) # to match the current hardware clock during bootup, leave this # commented out. # However, you can set this to "NO" if you are running a modern kernel # and using NTP to synchronize your system clock. #clock_hctosys="YES" # If you do not want to set the hardware clock to the current system # time (software clock) during shutdown, set this to no. #clock_systohc="YES" # If you wish to pass any other arguments to hwclock during bootup, # you may do so here. Alpha users may wish to use --arc or --srm here. clock_args="" # If you wish to pass any options to kill_all during shutdown, # you should do so here. # # The setting is called killall5_opts because the options here are meant # to be identical to those you could pass to killall5. killall5_opts="" # If you need to delay after each kill attempt during shutdown, set the amount # of time you need to delay here. This gets passed directly to sleep in # the shell. # kill_delay=0 # Stop the unmounting of certain points. # This could be useful for some NFS related work. #no_umounts="/dir1:/var/dir2" # # Mark certain mount points as critical. # This contains a space separated list of mount points which should be # considered critical. If one of these mount points cannot be mounted, # localmount will fail. # By default, this is empty. #critical_mounts="/home /var" # Enable loadable module support when running from RAM # when OverlayFS support is available in the kernel. # 0 means default tmpfs size (50% of physical RAM). # for more information please see kernel documention at: # https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt overlay_size=0 # Linux users can define a list of modules for a specific kernel version, # a released kernel version, a main kernel version or all kernel versions. # The most specific versioned variable will take precedence. # FreeBSD users can only use the modules="foo bar" setting. #modules_2_6_23_gentoo_r5="ieee1394 ohci1394" #modules_2_6_23="tun ieee1394" #modules_2_6="tun" #modules_2="ipv6" #modules="ohci1394" # Linux users can give the modules some arguments if needed, per version # if necessary. # Again, the most specific versioned variable will take precedence. # This is not supported on FreeBSD. #module_ieee1394_args="debug" #module_ieee1394_args_2_6_23_gentoo_r5="debug2" #module_ieee1394_args_2_6_23="debug3" #module_ieee1394_args_2_6="debug4" #module_ieee1394_args_2="debug5" # You should consult your kernel documentation and configuration # for a list of modules and their options. # As far as we are aware, there are no modern linux tools or use cases # which require /etc/mtab to be a separate file from /proc/self/mounts, # so this setting should be commented out. # If it is set to yes, please comment it out and run this command: # # rc-service mtab restart # In the future, the mtab service will be removed since we are not aware # of any need to manipulate /etc/mtab as a separate file from # /proc/self/mounts. # If you have a technical reason we should keep this support, please # open an issue at https://github.com/openrc/openrc/issues and let us # know about your situation. # This setting controls whether /etc/mtab is a file or symbolic link. # mtab_is_file=no # The interfaces setting controls which interfaces the net-online # service considers in deciding whether the network is active. The # default is all interfaces that support ethernet. #interfaces="" # This setting controls whether a ping test is included in the test for # network connectivity after all interfaces are active. #include_ping_test=no # This setting is the host to attempt to ping if the above is yes. # The default is google.com. #ping_test_host=some.host.name # The timeout setting controls how long the net-online service waits # for the network to be configured. # The default is 120 seconds. # if this is set to 0, the wait is infinite. #timeout=120 # You will need to set the dependencies in the netmount script to match # the network configuration tools you are using. This should be done in # this file by following the examples below, and not by changing the # service script itself. # # Each of these examples is meant to be used separately. So, for # example, do not set rc_need to something like "net.eth0 dhcpcd". # # If you are using newnet and configuring your interfaces with static # addresses with the network script, you should use this setting. # #rc_need="network" # # If you are using oldnet, you must list the specific net.* services you # need. # # This example assumes all of your netmounts can be reached on # eth0. # #rc_need="net.eth0" # # This example assumes some of your netmounts are on eth1 and some # are on eth2. # #rc_need="net.eth1 net.eth2" # # If you are using a dynamic network management tool like # NetworkManager, dhcpcd in standalone mode, wicd, badvpn-ncd, etc, to # manage the network interfaces with the routes to your netmounts, you # should list that tool. # #rc_need="NetworkManager" #rc_need="dhcpcd" #rc_need="wicd" # # The default setting is designed to be backward compatible with our # current setup, but you are highly discouraged from using this. In # other words, please change it to be more suited to your system. # rc_need="net" # # Mark certain mount points as critical. # This contains aspace separated list of mount points which should be # considered critical. If one of these mount points cannot be mounted, # netmount will fail. # By default, this is empty. #critical_mounts="/home /var" # The convention in this file is to show the default settings commented out. # # Sometimes you want to have urandom start before "localmount" (say for crypt # swap), so you will need to customize this behavior. If you have /var on a # separate partition, make sure paths under /var are adjusted to point to # locations on your root device. # # Set skip_credit to yes or true if you do not want seed files to actually # credit the random number generator. For example, you should set this if you # plan to replicate the file system image without removing the contents of # ${seed_dir}. # # seed_dir=/var/lib/seedrng # skip_credit=no # Do not use this file to define the default route. # In all settings, multiple routes should be separated using ; or new lines. # Define static routes on Linux using iproute2. See ip(8) for syntax. #staticiproute="192.168.0.0/24 via 10.73.1.1; 192.168.1.0/24 via 10.73.1.1" # Or define static routes on Linux using route (legacy). See route(8) for syntax. #staticroute="net 192.168.0.0 netmask 255.255.255.0 gw 10.73.1.1 #net 192.168.1.0 netmask 255.255.255.0 gw 10.73.1.1" # If you are only using local swap partitions, you should not change # this file. Otherwise, you need to uncomment the below rc_before line # followed by the appropriate rc_need line. #rc_before="!localmount" # # If you are using swap files stored on local file systems, uncomment # this line. #rc_need="localmount" # # If you are using swap files stored on network file systems or swap # partitions stored on network block devices such as iSCSI, uncomment # this line. #rc_need="netmount" # This is the location of the reference file swclock uses to set the # system date and time. # This is the default path. If you are using it, you do not need to # uncomment it. If you are using the default and have /var on its own # file system, you need to add the appropriate rc_after setting. # swclock_file=/var/lib/misc/openrc-shutdowntime #!/sbin/openrc-run # Copyright (c) 2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Register misc binary format handlers" depend() { after clock procfs use modules devfs keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -vserver } start() { ebegin "Loading custom binary format handlers" "$RC_LIBEXECDIR"/sh/binfmt.sh eend $? return 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. depend() { need localmount before logger after clock root sysctl keyword -prefix -timeout } : ${wipe_tmp:=${WIPE_TMP:-no}} : ${log_dmesg:=${LOG_DMESG:-yes}} cleanup_tmp_dir() { local dir="$1" if ! [ -d "$dir" ]; then mkdir -p "$dir" || return $? fi checkpath -W "$dir" || return 1 chmod a+rwt "$dir" 2> /dev/null cd "$dir" || return 1 if yesno $wipe_tmp; then ebegin "Wiping $dir directory" # Faster than raw find if ! rm -rf -- [!ajlq\.]* 2>/dev/null ; then # Blah, too many files find . -maxdepth 1 -name '[!ajlq\.]*' -exec rm -rf -- {} + fi # pam_mktemp creates a .private directory within which # each user gets a private directory with immutable # bit set; remove the immutable bit before trying to # remove it. [ -d /tmp/.private ] && chattr -R -a /tmp/.private 2> /dev/null # Prune the paths that are left find . -maxdepth 1 \ ! -name . \ ! -name lost+found \ ! -name quota.user \ ! -name aquota.user \ ! -name quota.group \ ! -name aquota.group \ ! -name journal \ -exec rm -rf -- {} + eend 0 else ebegin "Cleaning $dir directory" rm -rf -- .X*-lock esrv* kio* \ jpsock.* .fam* .esd* \ orbit-* ssh-* ksocket-* \ .*-unix eend 0 fi } cleanup_var_run_dir() { ebegin "Cleaning /var/run" for x in $(find /var/run ! -type d ! -name utmp \ ! -name random-seed ! -name dev.db \ ! -name ld-elf.so.hints ! -name ld-elf32.so.hints \ ! -name ld.so.hints); do # Clean stale sockets if [ -S "$x" ]; then if command -v fuser >/dev/null 2>&1; then fuser "$x" >/dev/null 2>&1 || rm -- "$x" else rm -- "$x" fi fi [ ! -f "$x" ] && continue # Do not remove pidfiles of already running daemons case "$x" in *.pid) start-stop-daemon --test --quiet \ --stop --pidfile "$x" && continue ;; esac rm -f -- "$x" done eend 0 } mkutmp() { : >"$1" # Not all systems have the utmp group chgrp utmp "$1" 2>/dev/null chmod 0664 "$1" } migrate_to_run() { src="$1" dst="$2" if [ -L $src -a "$(readlink -f $src)" != $dst ]; then ewarn "$src does not point to $dst." ewarn "Setting $src to point to $dst." rm $src elif [ ! -L $src -a -d $src ]; then ebegin "Migrating $src to $dst" if ! rmdir $src 2>/dev/null; then cp -a $src/* $dst/ rm -rf $src fi eend $? fi # If $src doesn't exist at all, just run this if [ ! -e $src ]; then ln -s $dst $src fi } clean_run() { [ "$RC_SYS" = VSERVER -o "$RC_SYS" = LXC ] && return 0 local dir # If / is still read-only due to a problem, this will fail! if ! checkpath -W /; then ewarn "/ is not writable; unable to clean up underlying /run" return 1 fi if ! checkpath -W /tmp; then ewarn "/tmp is not writable; unable to clean up underlying /run" return 1 fi # Now we know that we can modify /tmp and / # if mktemp -d fails, it returns an EMPTY string # STDERR: mktemp: failed to create directory via template ‘/tmp/tmp.XXXXXXXXXX’: Read-only file system # STDOUT: '' rc=0 dir=$(mktemp -d) if [ -n "$dir" -a -d $dir -a -w $dir ]; then mount --bind / $dir && rm -rf $dir/run/* || rc=1 umount $dir && rmdir $dir else rc=1 fi if [ $rc -ne 0 ]; then ewarn "Could not clean up underlying /run on /" return 1 fi } start() { # Remove any added console dirs if checkpath -W "$RC_LIBEXECDIR"; then rm -rf "$RC_LIBEXECDIR"/console/* fi local logw=false runw=false extra= # Ensure that our basic dirs exist if [ "$RC_UNAME" = Linux ]; then # Satisfy Linux FHS extra=/var/lib/misc if [ ! -d /run ]; then extra="/var/run $extra" fi else extra=/var/run fi for x in /var/log /tmp $extra; do if ! [ -d $x ]; then if ! mkdir -p $x; then eend 1 "failed to create needed directory $x" return 1 fi fi done if [ "$RC_UNAME" = Linux -a -d /run ]; then migrate_to_run /var/lock /run/lock migrate_to_run /var/run /run clean_run fi if checkpath -W /var/run; then ebegin "Creating user login records" local xtra= [ "$RC_UNAME" = NetBSD ] && xtra=x for x in "" $xtra; do mkutmp /var/run/utmp$x done [ -e /var/log/wtmp ] || mkutmp /var/log/wtmp eend 0 mountinfo -q -f tmpfs /var/run || cleanup_var_run_dir fi # Clean up /tmp directories local tmp= for tmp in ${clean_tmp_dirs:-${wipe_tmp_dirs-/tmp}}; do mountinfo -q -f tmpfs "$tmp" || cleanup_tmp_dir "$tmp" done if checkpath -W /tmp; then # Make sure our X11 stuff have the correct permissions # Omit the chown as bootmisc is run before network is up # and users may be using lame LDAP auth #139411 rm -rf /tmp/.ICE-unix /tmp/.X11-unix mkdir -p /tmp/.ICE-unix /tmp/.X11-unix chmod 1777 /tmp/.ICE-unix /tmp/.X11-unix if [ -x /sbin/restorecon ]; then restorecon /tmp/.ICE-unix /tmp/.X11-unix fi fi if yesno $log_dmesg; then if $logw || checkpath -W /var/log; then # Create an 'after-boot' dmesg log case "$RC_SYS" in VSERVER|OPENVZ|LXC|SYSTEMD-NSPAWN) ;; *) if yesno ${previous_dmesg:-no} && [ -e /var/log/dmesg ]; then mv /var/log/dmesg /var/log/dmesg.old fi dmesg > /var/log/dmesg chmod 640 /var/log/dmesg ;; esac fi fi return 0 } stop() { # Write a halt record if we're shutting down if [ "$RC_RUNLEVEL" = shutdown ]; then if [ "$RC_UNAME" = Linux ]; then if [ -x /sbin/halt ]; then halt -w else openrc-shutdown -w fi fi if [ "$RC_SYS" = OPENVZ ]; then yesno $RC_REBOOT && printf "" >/reboot fi fi return 0 } # vim: ft=sh #!/sbin/openrc-run # Copyright (c) 2017 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Mount the control groups." : "${cgroup_opts:="nodev,noexec,nosuid"}" depend() { keyword -docker -podman -prefix -systemd-nspawn -vserver after sysfs } cgroup1_base() { grep -qw cgroup /proc/filesystems || return 0 if ! mountinfo -q /sys/fs/cgroup; then ebegin "Mounting cgroup filesystem" local opts="${cgroup_opts},mode=755,size=${rc_cgroupsize:-10m}" mount -n -t tmpfs -o "${opts}" cgroup_root /sys/fs/cgroup eend $? fi if ! mountinfo -q /sys/fs/cgroup/openrc; then local agent="${RC_LIBEXECDIR}/sh/cgroup-release-agent.sh" mkdir /sys/fs/cgroup/openrc mount -n -t cgroup \ -o none,${cgroup_opts},name=openrc,release_agent="$agent" \ openrc /sys/fs/cgroup/openrc printf 1 > /sys/fs/cgroup/openrc/notify_on_release fi return 0 } cgroup1_controllers() { yesno "${rc_controller_cgroups:-YES}" && [ -e /proc/cgroups ] && grep -qw cgroup /proc/filesystems || return 0 while read -r name _ _ enabled _; do case "${enabled}" in 1) mountinfo -q "/sys/fs/cgroup/${name}" && continue local x for x in $rc_cgroup_controllers; do [ "${name}" = "blkio" ] && [ "${x}" = "io" ] && continue 2 [ "${name}" = "${x}" ] && continue 2 done mkdir "/sys/fs/cgroup/${name}" mount -n -t cgroup -o "${cgroup_opts},${name}" \ "${name}" "/sys/fs/cgroup/${name}" yesno "${rc_cgroup_memory_use_hierarchy:-no}" && [ "${name}" = memory ] && echo 1 > /sys/fs/cgroup/memory/memory.use_hierarchy ;; esac done < /proc/cgroups return 0 } cgroup2_base() { grep -qw cgroup2 /proc/filesystems || return 0 local base base="$(cgroup2_find_path)" mkdir -p "${base}" mount -t cgroup2 none -o "${cgroup_opts},nsdelegate" "${base}" 2> /dev/null || mount -t cgroup2 none -o "${cgroup_opts}" "${base}" return 0 } cgroup2_controllers() { grep -qw cgroup2 /proc/filesystems || return 0 local active cgroup_path x y cgroup_path="$(cgroup2_find_path)" [ -z "${cgroup_path}" ] && return 0 [ ! -e "${cgroup_path}/cgroup.controllers" ] && return 0 [ ! -e "${cgroup_path}/cgroup.subtree_control" ]&& return 0 read -r active < "${cgroup_path}/cgroup.controllers" for x in ${active}; do case "${rc_cgroup_mode:-unified}" in unified) echo "+${x}" > "${cgroup_path}/cgroup.subtree_control" ;; hybrid) for y in ${rc_cgroup_controllers}; do if [ "$x" = "$y" ]; then echo "+${x}" > "${cgroup_path}/cgroup.subtree_control" fi done ;; esac done return 0 } cgroups_hybrid() { cgroup1_base cgroup2_base cgroup2_controllers cgroup1_controllers return 0 } cgroups_legacy() { cgroup1_base cgroup1_controllers return 0 } cgroups_unified() { cgroup2_base cgroup2_controllers return 0 } mount_cgroups() { case "${rc_cgroup_mode:-unified}" in hybrid) cgroups_hybrid ;; legacy) cgroups_legacy ;; unified) cgroups_unified ;; esac return 0 } restorecon_cgroups() { if [ -x /sbin/restorecon ]; then ebegin "Restoring SELinux contexts in /sys/fs/cgroup" restorecon -rF /sys/fs/cgroup >/dev/null 2>&1 eend $? fi return 0 } start() { # set up kernel support for cgroups if [ -d /sys/fs/cgroup ]; then mount_cgroups restorecon_cgroups fi return 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Sets a font for the consoles." depend() { need termencoding after hotplug bootmisc modules keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu } start() { ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} consolefont=${consolefont:-${CONSOLEFONT}} consoletranslation=${consoletranslation:-${CONSOLETRANSLATION}} if [ -z "$consolefont" ]; then ebegin "Using the default console font" eend 0 return 0 fi if [ "$ttyn" = 0 ]; then ebegin "Skipping font setup (rc_tty_number == 0)" eend 0 return 0 fi local x= param= sf_param= retval=0 ttydev=/dev/tty # Get additional parameters if [ -n "$consoletranslation" ]; then param="$param -m $consoletranslation" fi # Set the console font ebegin "Setting console font [$consolefont]" [ -d /dev/vc ] && ttydev=/dev/vc/ x=1 while [ $x -le $ttyn ]; do if ! setfont $consolefont $param -C $ttydev$x >/dev/null; then retval=1 break fi : $(( x += 1 )) done eend $retval # Store the font so we can use it ASAP on boot if [ $retval -eq 0 ] && checkpath -W "$RC_LIBEXECDIR"; then mkdir -p "$RC_LIBEXECDIR"/console zcat "/usr/share/consolefonts/$consolefont" \ > "$RC_LIBEXECDIR"/console/font fi return $retval } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Set up the /dev directory" depend() { provide dev-mount before dev keyword -docker -podman -prefix -systemd-nspawn -vserver } mount_dev() { local action conf_d_dir devfstype msg mountopts action=--mount conf_d_dir="${RC_SERVICE%/*/*}/conf.d" msg=Mounting # Some devices require exec, https://bugs.gentoo.org/92921 # Users with such requirements can use an fstab entry for /dev mountopts="noexec,nosuid,mode=0755" if yesno ${skip_mount_dev:-no} ; then einfo "/dev will not be mounted due to user request" return 0 fi if mountinfo -q /dev; then action=--remount mountopts="remount,$mountopts" msg=Remounting fi if fstabinfo -q /dev; then ebegin "$msg /dev according to fstab" fstabinfo -q $action /dev eend $? return 0 fi if grep -q devtmpfs /proc/filesystems; then devfstype=devtmpfs mountopts="$mountopts,size=10M" elif grep -q tmpfs /proc/filesystems; then devfstype=tmpfs mountopts="$mountopts,size=10M" fi if [ -n "$devfstype" ]; then ebegin "$msg $devfstype on /dev" mount -n -t $devfstype -o $mountopts dev /dev eend $? else ewarn "This kernel does not have devtmpfs or tmpfs support, and there" ewarn "is no entry for /dev in fstab." ewarn "This means /dev will not be mounted." ewarn "To avoid this message, set CONFIG_DEVTMPFS or CONFIG_TMPFS to y" ewarn "in your kernel configuration or see ${conf_d_dir}/${RC_SVCNAME}" fi return 0 } seed_dev() { # Seed /dev with some things that we know we need if [ "${RC_SYS}" != LXC ]; then # creating /dev/console, /dev/tty and /dev/tty1 to be able to write # to $CONSOLE with/without bootsplash before udevd creates it [ -c /dev/console ] || mknod -m 600 /dev/console c 5 1 [ -c /dev/tty1 ] || mknod -m 620 /dev/tty1 c 4 1 [ -c /dev/tty ] || mknod -m 666 /dev/tty c 5 0 # udevd will dup its stdin/stdout/stderr to /dev/null # and we do not want a file which gets buffered in ram [ -c /dev/null ] || mknod -m 666 /dev/null c 1 3 # so udev can add its start-message to dmesg [ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11 fi # extra symbolic links not provided by default [ -e /dev/fd ] || ln -snf /proc/self/fd /dev/fd [ -e /dev/stdin ] || ln -snf /proc/self/fd/0 /dev/stdin [ -e /dev/stdout ] || ln -snf /proc/self/fd/1 /dev/stdout [ -e /dev/stderr ] || ln -snf /proc/self/fd/2 /dev/stderr [ -e /proc/kcore ] && ln -snf /proc/kcore /dev/core # Mount required directories as user may not have them in /etc/fstab for x in \ "mqueue /dev/mqueue 1777 ,nodev mqueue" \ "devpts /dev/pts 0755 ,gid=5,mode=0620 devpts" \ "tmpfs /dev/shm 1777 ,nodev,mode=1777 shm" \ ; do set -- $x grep -Eq "[[:space:]]+$1$" /proc/filesystems || continue mountinfo -q $2 && continue if [ ! -d $2 ]; then mkdir -m $3 -p $2 >/dev/null 2>&1 || \ ewarn "Could not create $2!" fi if [ -d $2 ]; then ebegin "Mounting $2" if ! fstabinfo --mount $2; then mount -n -t $1 -o noexec,nosuid$4 $5 $2 fi eend $? fi done } restorecon_dev() { if [ -x /sbin/restorecon ]; then ebegin "Restoring SELinux contexts in /dev" restorecon -rF /dev >/dev/null 2>&1 eend $? fi return 0 } start() { mount_dev seed_dev restorecon_dev return 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Set the dmesg level for a cleaner boot" depend() { before dev modules keyword -docker -podman -lxc -prefix -systemd-nspawn -vserver } start() { if [ -n "$dmesg_level" ]; then dmesg -n$dmesg_level fi } #!/sbin/openrc-run # The first boot init service # read kernel options init_KOPT() { eval "set -- $(cat /proc/cmdline 2>/dev/null)" for opt; do case "$opt" in ssh_*=*) eval "KOPT_${opt%%=*}='${opt#*=}'" ;; esac done } start() { rm -f /etc/runlevels/*/$RC_SVCNAME init_KOPT local rc=0 ebegin "Starting ${RC_SVCNAME}" if [ -n "$KOPT_ssh_key" ] && [ ! -f "/root/.ssh/authorized_keys" ]; then einfo "Fetching ssh keys" mkdir -pm 700 /root/.ssh checkpath -fm 0600 /root/.ssh/authorized_keys case "$KOPT_ssh_key" in https://*|ftps://*|http://*) wget -q "$KOPT_ssh_key" -O /root/.ssh/authorized_keys rc=$?;; *) echo "$KOPT_ssh_key" > /root/.ssh/authorized_keys;; esac fi eend $rc } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Check and repair filesystems according to /etc/fstab" _IFS=" " depend() { after clock use dev clock modules keyword -docker -podman -jail -lxc -openvz -prefix -systemd-nspawn -timeout -vserver -uml } _abort() { yesno ${fsck_abort_on_errors:-yes} && rc-abort return 1 } # We should only reboot when first booting _reboot() { if [ "$RC_RUNLEVEL" = "$RC_BOOTLEVEL" ]; then reboot "$@" _abort || return 1 fi } _forcefsck() { [ -e /forcefsck ] || get_bootparam forcefsck } start() { local fsck_opts= p= check_extra= if [ -e /fastboot ]; then ewarn "Skipping fsck due to /fastboot" return 0 fi if _forcefsck; then fsck_opts="$fsck_opts -f" check_extra="(check forced)" elif ! yesno ${fsck_on_battery:-YES} && ! on_ac_power; then ewarn "Skipping fsck due to not being on AC power" return 0 fi if [ -n "$fsck_passno" ]; then check_extra="[passno $fsck_passno] $check_extra" if [ -n "$fsck_mnt" ]; then eerror "Only 1 of fsck_passno and fsck_mnt must be set!" return 1 fi fi ebegin "Checking local filesystems $check_extra" # Append passno mounts for p in $fsck_passno; do local IFS="$_IFS" case "$p" in [0-9]*) p="=$p";; esac set -- "$@" $(fstabinfo --passno "$p") unset IFS done # Append custom mounts for m in $fsck_mnt ; do local IFS="$_IFS" set -- "$@" "$m" unset IFS done if [ "$RC_UNAME" = Linux ]; then local skiptypes skiptypes=$(printf 'no%s,' ${net_fs_list} ${extra_net_fs_list}) [ "${skiptypes}" = "no," ] && skiptypes="" fsck_opts="$fsck_opts -T -t ${skiptypes}noopts=_netdev" if [ -z "$fsck_passno" -a -z "$fsck_mnt" ]; then fsck_args=${fsck_args:--A -p} if echo 2>/dev/null >/.test.$$; then rm -f /.test.$$ fsck_opts="$fsck_opts -R" fi fi if [ "$(readlink -f $(which fsck))" != "/bin/busybox" ]; then fsck_opts="$fsck_opts -C0" fi fi trap : INT QUIT fsck ${fsck_args:--p} $fsck_opts "$@" case $? in 0) eend 0; return 0;; 1) ewend 1 "Filesystems repaired"; return 0;; 2|3) if [ "$RC_UNAME" = Linux ]; then ewend 1 "Filesystems repaired, but reboot needed" _reboot -f else ewend 1 "Filesystems still have errors;" \ "manual fsck required" _abort fi;; 4) if [ "$RC_UNAME" = Linux ]; then ewend 1 "Filesystem errors left uncorrected, aborting" _abort else ewend 1 "Filesystems repaired, but reboot needed" _reboot fi;; 8) ewend 1 "Operational error"; return 0;; 12) ewend 1 "fsck interrupted";; *) eend 2 "Filesystems couldn't be fixed";; esac _abort || return 1 } stop() { # Fake function so we always shutdown correctly. _abort() { return 0; } _reboot() { return 0; } _forcefsck() { return 1; } yesno $fsck_shutdown && start return 0 } #!/sbin/openrc-run # Copyright (c) Natanael Copa # This code is licensed under BSD-2-Clause description="Sets the hostname of the machine." depend() { keyword -prefix -lxc -docker } start() { if [ -s /etc/hostname ] ; then opts="-F /etc/hostname" else opts="${hostname:-localhost}" fi ebegin "Setting hostname" hostname $opts eend $? } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. extra_commands="save show" description="Sets the local clock to UTC or Local Time." description_save="Saves the current time in the BIOS." description_show="Displays the current time in the BIOS." : ${clock_adjfile:=${CLOCK_ADJFILE}} : ${clock_args:=${CLOCK_OPTS}} : ${clock_systohc:=${CLOCK_SYSTOHC}} : ${clock:=${CLOCK:-UTC}} if [ "$clock" = "UTC" ]; then utc="UTC" utc_cmd="--utc" else utc="Local Time" utc_cmd="--localtime" fi depend() { provide clock want modules if yesno $clock_adjfile; then use root fi keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu } setupopts() { case "$(uname -m)" in s390*) utc="s390" ;; *) if [ -e /proc/devices ] && \ grep -q " cobd$" /proc/devices then utc="coLinux" fi ;; esac case "$utc" in UTC|Local" "Time);; *) unset utc_cmd;; esac } # hwclock doesn't always return non zero on error _hwclock() { local err="$(hwclock "$@" 2>&1 >/dev/null)" [ -z "$err" ] && return 0 echo "${err}" >&2 return 1 } get_noadjfile() { if ! yesno $clock_adjfile; then # Some implementations don't handle adjustments if LC_ALL=C hwclock --help 2>&1 | grep -q -e "--noadjfile"; then echo --noadjfile fi fi } rtc_exists() { local rtc= for rtc in /dev/rtc /dev/rtc[0-9]*; do [ -e "$rtc" ] && break done [ -e "$rtc" ] } start() { local retval=0 errstr="" modname setupopts if [ -z "$utc_cmd" ]; then ewarn "Not setting clock for $utc system" return 0 fi ebegin "Setting system clock using the hardware clock [$utc]" if [ -e /proc/modules ]; then if ! rtc_exists; then for x in rtc-cmos rtc genrtc; do modprobe -q $x && rtc_exists && modname="$x" && break done [ -n "$modname" ] && ewarn "The $modname module needs to be configured in" \ "${RC_SERVICE%/*/*}/conf.d/modules or built in." fi fi # Always set the kernel's time zone. _hwclock --systz $utc_cmd $(get_noadjfile) $clock_args : $(( retval += $? )) if [ -e /etc/adjtime ] && yesno $clock_adjfile; then _hwclock --adjust $utc_cmd $(get_noadjfile) : $(( retval += $? )) fi if yesno ${clock_hctosys:-YES}; then _hwclock --hctosys $utc_cmd $(get_noadjfile) $clock_args : $(( retval += $? )) fi eend $retval "Failed to set the system clock" return 0 } stop() { # Don't tweak the hardware clock on LiveCD halt. [ -n "$CDBOOT" ] && return 0 yesno ${clock_systohc:-YES} || return 0 local retval=0 errstr="" setupopts [ -z "$utc_cmd" ] && return 0 ebegin "Setting hardware clock using the system clock" "[$utc]" _hwclock --systohc $utc_cmd $(get_noadjfile) $clock_args retval=$? eend $retval "Failed to sync clocks" } save() { clock_systohc=yes stop } show() { setupopts hwclock --show "$utc_cmd" $(get_noadjfile) $clock_args } #!/sbin/openrc-run # Copyright (c) Natanael Copa # This code is licensed under BSD-2-Clause depend() { need sysfs dev before checkfs fsck after modloop keyword -vserver -lxc } # Load hardware drivers start() { # check for boot option "nocoldplug" if get_bootparam noautodetect; then ewarn "Autodetection of hardware disabled from boot cmdline" return 0 fi ebegin "Loading hardware drivers" find /sys -name modalias -type f -print0 2> /dev/null | xargs -0 sort -u \ | xargs modprobe -b -a 2> /dev/null # we run it twice so we detect all devices find /sys -name modalias -type f -print0 2> /dev/null | xargs -0 sort -u \ | xargs modprobe -b -a 2> /dev/null # check if framebuffer drivers got pulled in if [ -e /dev/fb0 ] && ! [ -e /sys/module/fbcon ]; then modprobe -b -q fbcon fi eend 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Kill all processes so we can unmount disks cleanly." depend() { keyword -prefix } start() { ebegin "Terminating remaining processes" kill_all 15 ${killall5_opts} sleep ${kill_delay:-0} eend 0 ebegin "Killing remaining processes" sleep ${kill_delay:-0} kill_all 9 ${killall5_opts} eend 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. conf_d_dir="${RC_SERVICE%/*/*}/conf.d" local_d_dir="${RC_SERVICE%/*/*}/local.d" description="Executes user programs in ${local_d_dir}" depend() { after * keyword -timeout } start() { local file has_errors redirect retval has_errors=0 yesno $rc_verbose || redirect='> /dev/null 2>&1' ebegin "Starting local" eindent for file in "${local_d_dir}"/*.start; do if [ -x "${file}" ]; then vebegin "Executing \"${file}\"" eval "${file}" $redirect retval=$? if [ ${retval} -ne 0 ]; then has_errors=1 fi veend ${retval} "Execution of \"${file}\" failed." fi done eoutdent if command -v local_start >/dev/null 2>&1; then ewarn "\"${conf_d_dir}/local\" should be removed." ewarn "Please move the code from the local_start function" ewarn "to executable scripts with an .start extension" ewarn "in \"${local_d_dir}\"" local_start fi eend ${has_errors} # We have to end with a zero exit code, because a failed execution # of an executable ${local_d_dir}/*.start file shouldn't result in # marking the local service as failed. Otherwise we are unable to # execute any executable ${local_d_dir}/*.stop file, because a failed # marked service cannot be stopped (and the stop function would # actually call the executable ${local_d_dir}/*.stop file(s)). return 0 } stop() { local file has_errors redirect retval has_errors=0 yesno $rc_verbose || redirect='> /dev/null 2>&1' ebegin "Stopping local" eindent for file in "${local_d_dir}"/*.stop; do if [ -x "${file}" ]; then vebegin "Executing \"${file}\"" eval "${file}" $redirect retval=$? if [ ${retval} -ne 0 ]; then has_errors=1 fi veend ${retval} "Execution of \"${file}\" failed." fi done eoutdent if command -v local_stop >/dev/null 2>&1; then ewarn "\"${conf_d_dir}/local\" should be removed." ewarn "Please move the code from the local_stop function" ewarn "to executable scripts with an .stop extension" ewarn "in \"${local_d_dir}\"" local_stop fi eend ${has_errors} # An executable ${local_d_dir}/*.stop file which failed with a # non-zero exit status is not a reason to mark this service # as failed, therefore we have to end with a zero exit code. return 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Mounts disks and swap according to /etc/fstab." depend() { need fsck root use lvm modules after clock lvm modules keyword -docker -podman -jail -lxc -prefix -systemd-nspawn -vserver } start() { [ -x /sbin/mkmntdirs ] && mkmntdirs # Mount local filesystems in /etc/fstab. # The types variable must start with no, and must be a type local critical= types="noproc" x= no_netdev= rc= for x in $net_fs_list $extra_net_fs_list; do types="${types},${x}" done if [ "$RC_UNAME" = Linux ]; then no_netdev="-O no_netdev" if mountinfo -q /usr; then touch "$RC_SVCDIR"/usr_premounted fi fi ebegin "Mounting local filesystems" mount -at "$types" $no_netdev eend $? "Some local filesystem failed to mount" rc=$? if [ -z "$critical_mounts" ]; then rc=0 else for x in ${critical_mounts}; do fstabinfo -q $x || continue if ! mountinfo -q $x; then critical=x eerror "Failed to mount $x" fi done [ -z "$critical" ] && rc=0 fi return $rc } stop() { yesno $RC_GOINGDOWN || return 0 # We never unmount / or /dev or $RC_SVCDIR # Bug 381783 local rc_svcdir=$(printf '%s\n' "$RC_SVCDIR" | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g') local x= no_umounts_r="/|/dev|/dev/.*|${rc_svcdir}" no_umounts_r="${no_umounts_r}|/bin|/sbin|/lib(32|64)?|/libexec" # RC_NO_UMOUNTS is an env var that can be set by plugins local IFS="$IFS:" for x in $no_umounts $RC_NO_UMOUNTS; do no_umounts_r="$no_umounts_r|$x" done if [ "$RC_UNAME" = Linux ]; then no_umounts_r="$no_umounts_r|/proc|/proc/.*|/run|/sys|/sys/.*" if [ -e "$rc_svcdir"/usr_premounted ]; then no_umounts_r="$no_umounts_r|/usr" fi fi no_umounts_r="^($no_umounts_r)$" # Flush all pending disk writes now sync . "$RC_LIBEXECDIR"/sh/rc-mount.sh if [ "$RC_UNAME" = Linux ] && [ -d /sys/fs/aufs ] ; then #if / is aufs we remount it noxino during shutdown if mountinfo -q -f '^aufs$' / ; then mount -o remount,noxino,rw / sync fi local aufs_branch aufs_mount_point aufs_si_id aufs_br_id branches for aufs_si_dir in /sys/fs/aufs/si*; do [ -d "${aufs_si_dir}" ] || continue aufs_si_id="si=${aufs_si_dir#/sys/fs/aufs/si_}" aufs_mount_point="$(mountinfo -o ${aufs_si_id})" branches="$aufs_si_dir/br[0-9] $aufs_si_dir/br[0-9][0-9] $aufs_si_dir/br[0-9][0-9][0-9]" for x in $branches; do [ -e "${x}" ] || continue aufs_branch=$(sed 's/=.*//g' $x) eindent if ! mount -o "remount,del:$aufs_branch" "$aufs_mount_point" > /dev/null 2>&1; then ewarn "Failed to remove branch $aufs_branch from aufs" \ "$aufs_mount_point" fi eoutdent sync done done fi # Umount loop devices einfo "Unmounting loop devices" eindent do_unmount "umount -d" --skip-point-regex "$no_umounts_r" \ --node-regex "^/dev/loop" eoutdent # Now everything else, except network filesystems as the # network should be down by this point. einfo "Unmounting filesystems" eindent local fs= for x in $net_fs_list $extra_net_fs_list; do fs="$fs${fs:+|}$x" done [ -n "$fs" ] && fs="^($fs)$" do_unmount umount --skip-point-regex "$no_umounts_r" \ "${fs:+--skip-fstype-regex}" $fs --nonetdev eoutdent return 0 } #!/sbin/openrc-run # Copyright (c) 2013-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Configures the loopback interface." depend() { after clock keyword -jail -prefix -systemd-nspawn -vserver } start() { if [ "$RC_UNAME" = Linux ]; then ebegin "Bringing up network interface lo" if command -v ip > /dev/null 2>&1; then ip addr add 127.0.0.1/8 dev lo brd + ip link set lo up else ifconfig lo 127.0.0.1 netmask 255.0.0.0 fi else ebegin "Bringing up network interface lo0" ifconfig lo0 127.0.0.1 netmask 255.0.0.0 fi eend $? } #!/sbin/openrc-run # Copyright (c) Natanael Copa # This code is licensed under BSD-2-Clause description="Generate machine-id if needed" depend() { need root dev } start() { if [ -s /etc/machine-id ] ; then return 0 fi ebegin "Generating machine-id" dd if=/dev/urandom status=none bs=16 count=1 \ | md5sum | cut -d' ' -f1 > /etc/machine-id eend $? } #!/sbin/openrc-run # Copyright (c) Natanael Copa # This code is licensed under BSD-2-Clause # script that will mount image with modules depend() { after dev-mount before checkfs fsck hwdrivers modules hwclock dev sysfs keyword -vserver -lxc } # read kernel options init_KOPT() { for opt in $(cat /proc/cmdline 2>/dev/null); do case "$opt" in modloop=*|modloop_verify=*) eval "KOPT_${opt%%=*}='${opt#*=}'" ;; esac done } mountdirs() { awk '$2 !~ /^\/(sys|proc|dev|run)/ && $2 != "/" {print $2}' /proc/mounts } find_modloop() { local dir="$1" local kver=$(uname -r) local oifs="$IFS" IFS=$'\n' set -- $(blkid "$dir"/boot/* "$dir"/*) IFS="$oifs" for line; do img=${line%%:*} verify_modloop "$img" || eerror "Failed to verify signature of $img!" mount "$img" -o loop,ro /.modloop || continue if [ -d /.modloop/modules/$kver ]; then return 0 fi umount /.modloop done return 1 } verify_modloop() { local modloop=$1 key= if ! yesno "${KOPT_modloop_verify:=yes}"; then return 0 fi for key in /etc/apk/keys/*.pub; do local sig=/var/cache/misc/${modloop##*/}.SIGN.RSA.${key##*/} if [ -f "$sig" ]; then if ! command -v openssl > /dev/null; then ewarn "Missing openssl. Modloop verification disabled!" return 0 fi einfo "Verifying modloop" openssl dgst -sha1 -verify "$key" -signature "$sig" "$modloop" \ >/dev/null 2>&1 || return 1 fi done } find_backing_file() { local dir="$1" local dev=$(df -P "$dir" | tail -1 | awk '{print $1}') cat /sys/block/${dev#/dev/}/loop/backing_file 2>/dev/null } start() { local modloop= mount_opts= modloop_dldir="/lib" init_KOPT case "$KOPT_modloop" in none) return 0;; http://*|https://*|ftp://*) modloop=$modloop_dldir/${KOPT_modloop##*/} if [ ! -f "$modloop" ]; then mkdir -p "$modloop_dldir" wget -P "$modloop_dldir" "$KOPT_modloop" || eend 1 fi ;; *) for dir in $(mountdirs); do if [ -f "$dir"/$KOPT_modloop ]; then modloop="$dir/${KOPT_modloop##/}" alpine_mnt="$dir" break fi done ;; esac ebegin "Mounting modloop $modloop" mkdir -p /.modloop if [ -n "$modloop" ]; then verify_modloop "$modloop" || eerror "Failed to verify signature of $img!" mount -o loop,ro $modloop /.modloop eend $? || return 1 else for dir in $(mountdirs); do if find_modloop "$dir"; then alpine_mnt="$dir" break fi done if [ -d /.modloop/modules/$(uname -r) ]; then eend 0 else eend 1 || return 1 fi fi #use overlayfs if available and configured if grep -q -w "overlay$" /proc/filesystems && [ ! -z ${unionfs_size+x} ]; then ewarn "Use of unionfs_size is deprecated use overlay_size instead" overlay_size="$unionfs_size" fi if grep -q -w "overlay$" /proc/filesystems && [ -n "$overlay_size" ]; then ebegin "OverlayFS detected, mounting modloop rw" [ "$overlay_size" != 0 ] && mount_ops="-o size=$overlay_size" mkdir -p /.modoverlayfs /lib/modules mount -t tmpfs $mount_ops tmpfs /.modoverlayfs mkdir -p /.modoverlayfs/modules /.modoverlayfs/work mount -t overlay -o upperdir=/.modoverlayfs/modules,lowerdir=/lib/modules:/.modloop/modules,workdir=/.modoverlayfs/work overlay /lib/modules depmod -A eend $? || return 1 else rm -rf /lib/modules && ln -sf /.modloop/modules /lib/ fi # copy firmware if there are any if [ -d $alpine_mnt/firmware ]; then ebegin "Copying firmware from $alpine_mnt/firmware" cp -R -a $alpine_mnt/firmware /lib/ eend $? elif [ -d /lib/modules/firmware ]; then rmdir /lib/firmware 2>/dev/null \ && ln -s /lib/modules/firmware /lib/ fi return 0 } stop() { local ret=0 local mnt; for mnt in /lib/modules /.modoverlayfs /.modloop; do if mountinfo --quiet "$mnt"; then ebegin "Unmounting $mnt" umount -d "$mnt" || ret=1 fi done eend $ret || return 1 } #!/sbin/openrc-run # Copyright (c) Natanael Copa # This code is licensed under BSD-2-Clause description="Loads a user defined list of kernel modules." depend() { before hwclock hwdrivers keyword -openvz -prefix -vserver -lxc } start() { yesno $rc_verbose && verbose=yes ebegin "Loading modules" eindent for f in /lib/modules-load.d/*.conf \ /usr/lib/modules-load.d/*.conf; do if ! [ -f "$f" ]; then continue fi if [ -f /etc/modules-load.d/"${f##*/}" ]; then veinfo "Ignoring $f due to /etc/modules-load.d/${f##*/}" continue fi if [ -f /run/modules-load.d/"${f##*/}" ]; then veinfo "Ignoring $f due to /run/modules-load.d/${f##*/}" continue fi veinfo "Processing $f" sed -e 's/\#.*//g' -e '/^[[:space:]]*$/d' < "$f" \ | while read module args; do modprobe -q $module $args done done if [ -f /etc/modules ]; then veinfo "Processing /etc/modules" sed -e 's/\#.*//g' -e '/^[[:space:]]*$/d' < /etc/modules \ | while read module args; do modprobe -q $module $args done fi for f in /etc/modules-load.d/*.conf; do if [ ! -f "$f" ]; then continue fi if [ -f /run/modules-load.d/"${f##*/}" ]; then veinfo "Ignoring $f due to /run/modules-load.d/${f##*/}" continue fi veinfo "Processing $f" sed -e 's/\#.*//g' -e '/^[[:space:]]*$/d' < "$f" \ | while read module args; do modprobe -q $module $args done done for f in /run/modules-load.d/*.conf; do if [ ! -f "$f" ]; then continue fi veinfo "Processing $f" sed -e 's/\#.*//g' -e '/^[[:space:]]*$/d' < "$f" \ | while read module args; do modprobe -q $module $args done done eoutdent eend $? } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Re-mount filesystems read-only for a clean reboot." depend() { after killprocs savecache keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -vserver } start() { local ret=0 # Flush all pending disk writes now sync ebegin "Remounting remaining filesystems read-only" # We need the do_unmount function . "$RC_LIBEXECDIR"/sh/rc-mount.sh eindent # Bug 381783 local rc_svcdir=$(echo $RC_SVCDIR | sed 's:/lib\(32\|64\)\?/:/lib(32|64)?/:g') local m="/dev|/dev/.*|/proc|/proc.*|/sys|/sys/.*|/run|${rc_svcdir}" x= fs= m="$m|/bin|/sbin|/lib(32|64)?|/libexec" if [ -e "$rc_svcdir"/usr_premounted ]; then m="$m|/usr" fi # RC_NO_UMOUNTS is an env var that can be set by plugins local IFS="$IFS:" for x in $no_umounts $RC_NO_UMOUNTS; do m="$m|$x" done m="^($m)$" fs= for x in $net_fs_list $extra_net_fs_list; do fs="$fs${fs:+|}$x" done [ -n "$fs" ] && fs="^($fs)$" do_unmount "umount -r" \ --skip-point-regex "$m" \ "${fs:+--skip-fstype-regex}" $fs --nonetdev ret=$? eoutdent eend $ret } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Update /etc/mtab to match what the kernel knows about" depend() { after clock before localmount need root keyword -prefix -systemd-nspawn } start() { local rc=0 ebegin "Updating /etc/mtab" if ! checkpath -W /etc; then rc=1 elif ! yesno ${mtab_is_file:-no}; then [ ! -L /etc/mtab ] && [ -f /etc/mtab ] && ewarn "Removing /etc/mtab file" einfo "Creating mtab symbolic link" ln -snf /proc/self/mounts /etc/mtab else ewarn "The ${RC_SVCNAME} service will be removed in the future." ewarn "Please change the mtab_is_file setting to no and run" ewarn "# rc-service mtab restart" ewarn "to create the mtab symbolic link." [ -L /etc/mtab ] && ewarn "Removing /etc/mtab symbolic link" rm -f /etc/mtab einfo "Creating mtab file" # With / as tmpfs we cannot umount -at tmpfs in localmount as that # makes / readonly and dismounts all tmpfs even if in use which is # not good. Luckily, umount uses /etc/mtab instead of /proc/mounts # which allows this hack to work. grep -v "^[! ]* / tmpfs " /proc/mounts > /etc/mtab # Remove stale backups rm -f /etc/mtab~ /etc/mtab~~ fi eend $rc "/etc is not writable; unable to create /etc/mtab" return 0 } #!/sbin/openrc-run # Copyright (c) 2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Delays until the network is online or a specific timeout" depend() { after modules net need sysfs provide network-online keyword -docker -podman -jail -lxc -openvz -prefix -systemd-nspawn -uml -vserver } get_interfaces() { local ifname iftype for ifname in /sys/class/net/*; do [ -h "${ifname}" ] || continue read iftype < ${ifname}/type [ "$iftype" = "1" ] && printf "%s " ${ifname##*/} done } start () { local carriers configured dev gateway ifcount infinite local carrier operstate rc ebegin "Checking to see if the network is online" rc=0 interfaces=${interfaces:-$(get_interfaces)} timeout=${timeout:-120} [ $timeout -eq 0 ] && infinite=true || infinite=false while $infinite || [ $timeout -gt 0 ]; do carriers=0 configured=0 ifcount=0 for dev in ${interfaces}; do : $((ifcount += 1)) read carrier < /sys/class/net/$dev/carrier 2> /dev/null || carrier= [ "$carrier" = 1 ] && : $((carriers += 1)) read operstate < /sys/class/net/$dev/operstate 2> /dev/null || operstate= [ "$operstate" = up ] && : $((configured += 1)) done [ $configured -eq $ifcount ] && [ $carriers -ge 1 ] && break sleep 1 : $((timeout -= 1)) done ! $infinite && [ $timeout -eq 0 ] && rc=1 include_ping_test=${include_ping_test:-${ping_default_gateway}} if [ -n "${ping_default_gateway}" ]; then ewarn "ping_default_gateway is deprecated, please use include_ping_test" fi if [ $rc -eq 0 ] && yesno ${include_ping_test:-no}; then ping_test_host="${ping_test_host:-google.com}" if [ -n "$ping_test_host" ]; then while $infinite || [ $timeout -gt 0 ]; do ping -c 1 $ping_test_host > /dev/null 2>&1 rc=$? [ $rc -eq 0 ] && break sleep 1 : $((timeout -= 1)) done fi fi eend $rc "The network is offline" } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Mounts network shares according to /etc/fstab." depend() { local opts mywant="" for opts in $(fstabinfo -o -t nfs,nfs4); do case $opts in noauto) ;; *) mywant="$mywant nfsclient"; break ;; esac done after root config /etc/fstab want $mywant use afc-client amd openvpn use dns use root keyword -docker -podman -jail -lxc -prefix -systemd-nspawn -vserver } start() { local x= fs= rc= for x in $net_fs_list $extra_net_fs_list; do fs="$fs${fs:+,}$x" done ebegin "Mounting network filesystems" mount -at $fs rc=$? if [ "$RC_UNAME" = Linux ] && [ $rc = 0 ]; then mount -a -O _netdev rc=$? fi ewend $rc "Could not mount all network filesystems" if [ -z "$critical_mounts" ]; then rc=0 else for x in ${critical_mounts}; do fstabinfo -q $x || continue if ! mountinfo -q $x; then critical=x eerror "Failed to mount $x" fi done [ -z "$critical" ] && rc=0 fi return $rc } stop() { local x= fs= ebegin "Unmounting network filesystems" . "$RC_LIBEXECDIR"/sh/rc-mount.sh for x in $net_fs_list $extra_net_fs_list; do fs="$fs${fs:+,}$x" done if [ -n "$fs" ]; then umount -at $fs || eerror "Failed to simply unmount filesystems" fi eindent fs= for x in $net_fs_list $extra_net_fs_list; do fs="$fs${fs:+|}$x" done [ -n "$fs" ] && fs="^($fs)$" do_unmount umount ${fs:+--fstype-regex} $fs --netdev retval=$? eoutdent if [ "$RC_UNAME" = Linux ] && [ $retval = 0 ]; then umount -a -O _netdev retval=$? fi eend $retval "Failed to unmount network filesystems" } #!/sbin/openrc-run # Copyright (c) Natanael Copa # This code is licensed under BSD-2-Clause # # note that the spoofprotect, syncoockies and ip_forward options are set in # /etc/sysctl.conf : ${cfgfile:="/etc/network/interfaces"} : ${ifquery:="ifquery"} : ${ifstate:="/run/ifstate"} single_iface="${RC_SVCNAME#*.}" if [ "$single_iface" = "$RC_SVCNAME" ]; then single_iface= fi depend() { need localmount hostname want dev-settle after bootmisc hwdrivers modules provide net keyword -jail -prefix -vserver -docker } # find interfaces we want to start find_ifaces() { if [ -n "$single_iface" ]; then echo $single_iface return 0 fi if command -v "$ifquery" >/dev/null; then $ifquery -i "$cfgfile" --list -a return fi # fallback in case ifquery does not exist awk '$1 == "auto" {for (i = 2; i <= NF; i = i + 1) printf("%s ", $i)}' "$cfgfile" } # return the list of interfaces we should try stop find_running_ifaces() { if [ -n "$single_iface" ]; then echo $single_iface return 0 fi if command -v "$ifquery" >/dev/null; then $ifquery --state-file $ifstate -i "$cfgfile" --running return fi # fallback awk -F= '{print $2}' $ifstate } start() { local iface= ret=1 ebegin "Starting networking" eindent for iface in $(find_ifaces); do local r=0 ebegin "$iface" if ! ifup -i "$cfgfile" $iface >/dev/null; then ifdown -i "$cfgfile" $iface >/dev/null 2>&1 r=1 fi # atleast one interface needs to be started for action # to be success eend $r && ret=0 done eoutdent return $ret } stop() { local iface= # Don't stop the network at shutdown. yesno ${keep_network:-YES} && yesno $RC_GOINGDOWN && return 0 ebegin "Stopping networking" eindent for iface in $(find_running_ifaces); do ebegin "$iface" ifdown -i "$cfgfile" -f $iface >/dev/null eend $? done eoutdent return 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Turns numlock on for the consoles." ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} depend() { keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -vserver } _setleds() { [ -z "$1" ] && return 1 local dev=/dev/tty t= i=1 retval=0 [ -d /dev/vc ] && dev=/dev/vc/ while [ $i -le $ttyn ]; do setleds -D "$1"num < $dev$i || retval=1 : $(( i += 1 )) done return $retval } start() { ebegin "Enabling numlock on ttys" _setleds + eend $? "Failed to enable numlock" } stop() { yesno $RC_GOINGDOWN && return 0 ebegin "Disabling numlock on ttys" _setleds - eend $? "Failed to disable numlock" } #!/sbin/openrc-run # Copyright (c) 2014-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. # Can be used on OSs that take care of the clock. description="Provides clock" depend() { provide clock } start() { # This stub function is required to avoid OpenRC warning at boot: # # * The command variable is undefined. # * There is nothing for osclock to start. # * If this is what you intend, please write a start function. # * This will become a failure in a future release. # return 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Mounts misc filesystems in /proc." depend() { after clock use devfs want modules keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -vserver } start() { # Setup Kernel Support for miscellaneous Binary Formats if [ -d /proc/sys/fs/binfmt_misc ] && [ ! -e /proc/sys/fs/binfmt_misc/register ]; then if ! grep -qs binfmt_misc /proc/filesystems && modprobe -q binfmt-misc; then ewarn "The binfmt-misc module needs to be loaded by" \ "the modules service or built in." fi if grep -qs binfmt_misc /proc/filesystems; then ebegin "Mounting misc binary format filesystem" mount -t binfmt_misc -o nodev,noexec,nosuid \ binfmt_misc /proc/sys/fs/binfmt_misc eend $? fi fi return 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Mount the root fs read/write" depend() { after clock need fsck keyword -docker -podman -jail -lxc -openvz -prefix -systemd-nspawn -vserver } start() { local root_opts=",$(fstabinfo -o /)," case "$root_opts" in *,ro,*) ;; *) # Check if the rootfs isn't already writable. if checkpath -W /; then rm -f /fastboot /forcefsck else ebegin "Remounting root filesystem read/write" case "$RC_UNAME" in Linux) mount -n -o remount,rw / ;; *) mount -u -o rw / ;; esac eend $? "Root filesystem could not be mounted read/write" if [ $? -eq 0 ]; then rm -f /fastboot /forcefsck fi fi ;; esac case "$root_opts" in *,shared,*|*,rshared,*) ebegin "Making root filesystem shared" case "$RC_UNAME" in Linux) mount --make-rshared / ;; *) ewarn "Ignoring 'shared' option for / on non-linux" ;; esac eend $? "Root filesystem could not be made shared" ;; esac ebegin "Remounting filesystems" local mountpoint for mountpoint in $(fstabinfo); do case "${mountpoint}" in /*) # Don't remount swap etc. mountinfo -q "${mountpoint}" && \ fstabinfo --remount "${mountpoint}" ;; esac done eend 0 } #!/sbin/openrc-run # Copyright (c) 2016 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. supervisor=supervise-daemon command=/usr/bin/runsvdir pidfile="/var/run/${RC_SVCNAME}.pid" command_args="-P $RC_SVCDIR/sv 'log: ...........................................................................................................................................................................................................................................................................................................................................................................................................'" start_pre() { checkpath -m 0755 -o root:root -d ${RC_SVCDIR}/sv } #!/sbin/openrc-run # Copyright (c) 2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. command=/bin/s6-svscan command_args="${RC_SVCDIR}"/s6-scan command_background=yes pidfile=/var/run/s6-svscan.pid depend() { need localmount } start_pre() { if [ ! -e "$command" ]; then eerror "$command is missing (please install s6)" else einfo "Creating s6 scan directory" checkpath -d -m 0755 "$RC_SVCDIR"/s6-scan fi return } stop_post() { ebegin "Stopping any remaining s6 services" s6-svc -dx "${RC_SVCDIR}"/s6-scan/* 2>/dev/null || true eend $? ebegin "Stopping any remaining s6 service loggers" s6-svc -dx "${RC_SVCDIR}"/s6-scan/*/log 2>/dev/null || true eend $? } #!/sbin/openrc-run # Copyright (c) 2018 Sony Interactive Entertainment, Inc. # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Save the keymap for use as early as possible" depend() { need termencoding after bootmisc clock keymaps keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu } start() { # Save the keymapping for use immediately at boot ebegin "Saving key mapping" if checkpath -W "$RC_LIBEXECDIR"; then mkdir -p "$RC_LIBEXECDIR"/console dumpkeys >"$RC_LIBEXECDIR"/console/keymap fi eend $? "Unable to save keymapping" } #!/sbin/openrc-run # Copyright (c) 2018 Sony Interactive Entertainment, Inc. # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Configures terminal encoding." ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} : ${unicode:=${UNICODE}} depend() { keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu use root after bootmisc clock termencoding } start() { ebegin "Saving terminal encoding" # Save the encoding for use immediately at boot if checkpath -W "$RC_LIBEXECDIR"; then mkdir -p "$RC_LIBEXECDIR"/console if yesno ${unicode:-yes}; then echo "" > "$RC_LIBEXECDIR"/console/unicode else rm -f "$RC_LIBEXECDIR"/console/unicode fi fi eend 0 } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Saves the caches OpenRC uses to non volatile storage" start() { if [ -e "$RC_SVCDIR"/clock-skewed ]; then ewarn "Clock skew detected!" if ! yesno "${RC_GOINGDOWN}"; then eerror "Not saving deptree cache" return 1 fi fi if [ ! -d "$RC_LIBEXECDIR"/cache ]; then if ! checkpath -W "$RC_LIBEXECDIR"; then eerror "${RC_LIBEXECDIR} is not writable!" eerror "Unable to save dependency cache" if yesno "${RC_GOINGDOWN}"; then return 0 fi return 1 fi rm -rf "$RC_LIBEXECDIR"/cache if ! mkdir -p "$RC_LIBEXECDIR"/cache; then eerror "Unable to create $RC_LIBEXECDIR/cache" eerror "Unable to save dependency cache" if yesno "${RC_GOINGDOWN}"; then return 0 fi return 1 fi fi if ! checkpath -W "$RC_LIBEXECDIR"/cache; then eerror "${RC_LIBEXECDIR}/cache is not writable!" eerror "Unable to save dependency cache" if yesno "${RC_GOINGDOWN}"; then return 0 fi return 1 fi ebegin "Saving dependency cache" local rc=0 save= for x in depconfig deptree rc.log shutdowntime softlevel; do [ -e "$RC_SVCDIR/$x" ] && save="$save $RC_SVCDIR/$x" done if [ -n "$save" ]; then cp -p $save "$RC_LIBEXECDIR"/cache rc=$? fi if yesno "${RC_GOINGDOWN}"; then if [ $rc -ne 0 ]; then eerror "Unable to save dependency cache" fi eend 0 fi eend $rc "Unable to save dependency cache" } #!/sbin/openrc-run # Copyright (c) 2007-2022 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Initializes the random number generator." depend() { after clock need localmount keyword -docker -podman -jail -lxc -openvz -prefix -systemd-nspawn provide urandom } seedrng_with_options() { set -- [ -n "${seed_dir}" ] && set -- "$@" --seed-dir "${seed_dir}" yesno "${skip_credit}" && set -- "$@" --skip-credit seedrng "$@" } start() { ebegin "Seeding random number generator" seedrng_with_options eend $? "Error seeding random number generator" return 0 } stop() { ebegin "Saving random number generator seed" seedrng_with_options eend $? "Error saving random number generator seed" return 0 } #!/sbin/openrc-run # Copyright (c) 2009-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. # This script was inspired by the equivalent rc.d staticroute from NetBSD. description="Configures static routes." __nl=" " depend() { after clock provide net use network keyword -jail -prefix -vserver } pre_flight_checks() { route=route [ -s /etc/route.conf ] && return 0 if [ -n "$staticiproute" ]; then route="ip route" staticroute="$staticiproute" fi } dump_args() { # Route configuration file, as used by the NetBSD RC system if [ -s /etc/route.conf ]; then cat /etc/route.conf return $? fi case "$staticroute" in *"$__nl"*) echo "$staticroute" ;; *) ( set -o noglob IFS=';'; set -- $staticroute IFS="$__nl"; echo "$*" ) ;; esac } do_routes() { local xtra= family= [ "$RC_UNAME" != Linux ] && xtra=-q ebegin "$1 static routes" eindent pre_flight_checks dump_args | while read args; do [ -z "$args" ] && continue case "$args" in "#"*) ;; "+"*) [ $2 = "add" ] && eval ${args#*+} ;; "-"*) [ $2 = "del" -o $2 = "delete" ] && eval ${args#*-} ;; *) veinfo "$args" case "$route" in "ip route") ip route $2 $args ;; *) # Linux route does cannot work it out ... if [ "$RC_UNAME" = Linux ]; then case "$args" in *:*) family="-A inet6";; *) family=;; esac fi route $family $xtra $2 -$args ;; esac veend $? esac done eoutdent eend 0 } start() { do_routes "Adding" "add" } stop() { local cmd="delete" [ "$RC_UNAME" = Linux ] && cmd="del" do_routes "Deleting" "$cmd" } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. depend() { after clock root before localmount keyword -docker -podman -jail -lxc -openvz -prefix -systemd-nspawn -vserver } start() { ebegin "Activating swap devices" case "$RC_UNAME" in NetBSD|OpenBSD) swapctl -A -t noblk >/dev/null;; *) swapon -a >/dev/null;; esac eend 0 # If swapon has nothing todo it errors, so always return 0 } stop() { ebegin "Deactivating swap devices" case "$RC_UNAME" in NetBSD|OpenBSD) swapctl -U -t noblk >/dev/null;; *) swapoff -a >/dev/null;; esac eend 0 } #!/sbin/openrc-run # Copyright (c) 2009-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Sets the local clock to the mtime of a given file." swclock_file="${swclock_file:-/var/lib/misc/openrc-shutdowntime}" depend() { provide clock keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu } # swclock is an OpenRC built in start() { ebegin "Setting the local clock based on last shutdown time" if ! swclock "${swclock_file}" 2> /dev/null; then swclock --warn /sbin/openrc-run fi eend $? } stop() { ebegin "Saving the shutdown time" swclock --save "${swclock_file}" eend $? } #!/sbin/openrc-run depend() { after clock before bootmisc logger keyword -prefix -systemd-nspawn -vserver } start() { local quiet retval=0 status ebegin "Configuring kernel parameters" yesno $rc_verbose || quiet=-q eindent for f in /lib/sysctl.d/*.conf \ /usr/lib/sysctl.d/*.conf; do if [ -f /etc/sysctl.d/"${f##*/}" ]; then veinfo "Ignoring $f due to /etc/sysctl.d/${f##*/}" continue fi if [ -f /run/sysctl.d/"${f##*/}" ]; then veinfo "Ignoring $f due to /run/sysctl.d/${f##*/}" continue fi if [ -f "$f" ]; then vebegin "applying $f" sysctl $quiet -p "$f" status=$? if [ $status -gt 0 ]; then # Don't change retval= since we expect some package/distro provided # sysctl configurations to break, so just warn when the user wants # verbose messages vewarn "Unable to configure kernel parameters from $f" fi fi done for f in /etc/sysctl.d/*.conf; do if [ -f /run/sysctl.d/"${f##*/}" ]; then veinfo "Ignoring $f due to /run/sysctl.d/${f##*/}" continue fi if [ -f "$f" ]; then vebegin "applying $f" sysctl $quiet -p "$f" status=$? if [ $status -gt 0 ]; then retval=$(( $retval + $status )) eerror "Unable to configure kernel parameters from $f" fi fi done if [ -f /etc/sysctl.conf ]; then vebegin "applying /etc/sysctl.conf" sysctl $quiet -p /etc/sysctl.conf status=$? if [ $status -gt 0 ]; then retval=$(( $retval + $status )) eerror "Unable to configure kernel parameters from /etc/sysctl.conf" fi fi for f in /run/sysctl.d/*.conf; do if [ -f "$f" ]; then vebegin "applying $f" sysctl $quiet -p "$f" status=$? if [ $status -gt 0 ]; then retval=$(( $retval + $status )) eerror "Unable to configure kernel parameters from $f" fi fi done eoutdent eend $retval } #!/sbin/openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Mount the sys filesystem." sysfs_opts=nodev,noexec,nosuid depend() { keyword -docker -podman -lxc -prefix -systemd-nspawn -vserver } mount_sys() { grep -Eq "[[:space:]]+sysfs$" /proc/filesystems || return 1 mountinfo -q /sys && return 0 if [ ! -d /sys ]; then if ! mkdir -m 0755 /sys; then ewarn "Could not create /sys!" return 1 fi fi ebegin "Mounting /sys" if ! fstabinfo --mount /sys; then mount -n -t sysfs -o ${sysfs_opts} sysfs /sys fi eend $? } mount_misc() { # Setup Kernel Support for securityfs if [ -d /sys/kernel/security ] && \ ! mountinfo -q /sys/kernel/security; then if grep -qs securityfs /proc/filesystems; then ebegin "Mounting security filesystem" mount -n -t securityfs -o ${sysfs_opts} \ securityfs /sys/kernel/security eend $? fi fi # Setup Kernel Support for debugfs if [ -d /sys/kernel/debug ] && ! mountinfo -q /sys/kernel/debug; then if grep -qs debugfs /proc/filesystems; then ebegin "Mounting debug filesystem" mount -n -t debugfs -o ${sysfs_opts} debugfs /sys/kernel/debug eend $? fi fi # Setup Kernel Support for configfs if [ -d /sys/kernel/config ] && ! mountinfo -q /sys/kernel/config; then if grep -qs configfs /proc/filesystems; then ebegin "Mounting config filesystem" mount -n -t configfs -o ${sysfs_opts} configfs /sys/kernel/config eend $? fi fi # set up kernel support for fusectl if [ -d /sys/fs/fuse/connections ] \ && ! mountinfo -q /sys/fs/fuse/connections; then if grep -qs fusectl /proc/filesystems; then ebegin "Mounting fuse control filesystem" mount -n -t fusectl -o ${sysfs_opts} \ fusectl /sys/fs/fuse/connections eend $? fi fi # Setup Kernel Support for SELinux if [ -d /sys/fs/selinux ] && ! mountinfo -q /sys/fs/selinux; then if grep -qs selinuxfs /proc/filesystems; then ebegin "Mounting SELinux filesystem" mount -t selinuxfs selinuxfs /sys/fs/selinux eend $? fi fi # Setup Kernel Support for persistent storage if [ -d /sys/fs/pstore ] && ! mountinfo -q /sys/fs/pstore; then if grep -qs 'pstore$' /proc/filesystems; then ebegin "Mounting persistent storage (pstore) filesystem" mount -t pstore pstore -o ${sysfs_opts} /sys/fs/pstore eend $? fi fi # set up kernel support for efivarfs if [ -d /sys/firmware/efi/efivars ] && ! mountinfo -q /sys/firmware/efi/efivars; then ebegin "Mounting efivarfs filesystem" mount -n -t efivarfs -o ${sysfs_opts} \ efivarfs /sys/firmware/efi/efivars 2> /dev/null eend 0 fi } restorecon_sys() { if [ -x /sbin/restorecon ]; then ebegin "Restoring SELinux contexts in /sys" restorecon -F /sys/devices/system/cpu/online >/dev/null 2>&1 eend $? fi } start() { mount_sys mount_misc restorecon_sys return 0 } #!/sbin/openrc-run description="Set sysfs variables from /etc/sysfs.conf and /etc/sysfs.d/*.conf" conffile=/etc/sysfs.conf confdir=/etc/sysfs.d depend() { need sysfs } setval() { local value="$1" attrib="$2" # Some fields need a terminating newline, others # need the terminating newline to be absent :-( echo -n "$value" > "$attrib" 2>/dev/null \ || echo "$value" > "$attrib" } load_conffile() { local file="$1" while read line; do local line=${line%%#*} local cmd= attrib= value= set -- $line if [ $# -eq 0 ]; then continue fi case "$1$3" in mode=) cmd=chmod attrib="$2" value="$4" ;; owner=) cmd=chown attrib="$2" value="$4" ;; *) if [ "$2" = "=" ]; then cmd=setval attrib="$1" value="$3" fi ;; esac if ! [ -e "/sys/$attrib" ]; then eerror "$attrib: unknown attribute" continue fi if [ -z "$attrib" ] || [ -z "$value" ]; then eerror "syntax error in $file: '$line'" continue fi $cmd "$value" "/sys/$attrib" done < "$file" } start() { [ -r "$conffile" -o -d "$confdir" ] || return 0 ebegin "Setting sysfs variables" for file in $confdir/*.conf $conffile; do [ -r "$file" ] || continue load_conffile "$file" || return 1 done eend 0 } #!/sbin/openrc-run # Copyright (c) 2008-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. description="Configures terminal encoding." ttyn=${rc_tty_number:-${RC_TTY_NUMBER:-12}} : ${unicode:=${UNICODE}} depend() { keyword -docker -podman -lxc -openvz -prefix -systemd-nspawn -uml -vserver -xenu after devfs } start() { local ttydev=/dev/tty n= [ -d /dev/vc ] && ttydev=/dev/vc/ # Set terminal encoding to either ASCII or UNICODE. # See utf-8(7) for more information. local termencoding="%@" termmsg="ASCII" if yesno ${unicode:-yes}; then termencoding="%G" termmsg="UTF-8" fi ebegin "Setting terminal encoding [$termmsg]" n=1 while [ ${n} -le "$ttyn" ]; do printf "\033%s" "$termencoding" >$ttydev$n : $(( n += 1 )) done # Save the encoding for use immediately at boot if checkpath -W "$RC_LIBEXECDIR"; then mkdir -p "$RC_LIBEXECDIR"/console if yesno ${unicode:-yes}; then echo "" > "$RC_LIBEXECDIR"/console/unicode else rm -f "$RC_LIBEXECDIR"/console/unicode fi fi eend 0 } This directory should contain programs or scripts which are to be run when the local service is started or stopped. If a file in this directory is executable and it has a .start extension, it will be run when the local service is started. If a file is executable and it has a .stop extension, it will be run when the local service is stopped. All files are processed in lexical order. Keep in mind that files in this directory are processed sequentially, and the local service is not considered started or stopped until everything is processed, so if you have a process which takes a long time to run, it can delay your boot or shutdown processing. /var/log/rc.log { missingok notifempty } # Global OpenRC configuration settings # Set to "YES" if you want the rc system to try and start services # in parallel for a slight speed improvement. When running in parallel we # prefix the service output with its name as the output will get # jumbled up. # WARNING: whilst we have improved parallel, it can still potentially lock # the boot process. Don't file bugs about this unless you can supply # patches that fix it without breaking other things! #rc_parallel="NO" # Set rc_interactive to "YES" and you'll be able to press the I key during # boot so you can choose to start specific services. Set to "NO" to disable # this feature. This feature is automatically disabled if rc_parallel is # set to YES. #rc_interactive="YES" # If we need to drop to a shell, you can specify it here. # If not specified we use $SHELL, otherwise the one specified in /etc/passwd, # otherwise /bin/sh # Linux users could specify /sbin/sulogin #rc_shell=/bin/sh # Do we allow any started service in the runlevel to satisfy the dependency # or do we want all of them regardless of state? For example, if net.eth0 # and net.eth1 are in the default runlevel then with rc_depend_strict="NO" # both will be started, but services that depend on 'net' will work if either # one comes up. With rc_depend_strict="YES" we would require them both to # come up. #rc_depend_strict="YES" # rc_hotplug controls which services we allow to be hotplugged. # A hotplugged service is one started by a dynamic dev manager when a matching # hardware device is found. # Hotplugged services appear in the "hotplugged" runlevel. # If rc_hotplug is set to any value, we compare the name of this service # to every pattern in the value, from left to right, and we allow the # service to be hotplugged if it matches a pattern, or if it matches no # patterns. Patterns can include shell wildcards. # To disable services from being hotplugged, prefix patterns with "!". #If rc_hotplug is not set or is empty, all hotplugging is disabled. # Example - rc_hotplug="net.wlan !net.*" # This allows net.wlan and any service not matching net.* to be hotplugged. # Example - rc_hotplug="!net.*" # This allows services that do not match "net.*" to be hotplugged. # rc_logger launches a logging daemon to log the entire rc process to # /var/log/rc.log # NOTE: Linux systems require the devfs service to be started before # logging can take place and as such cannot log the sysinit runlevel. #rc_logger="NO" # Through rc_log_path you can specify a custom log file. # The default value is: /var/log/rc.log #rc_log_path="/var/log/rc.log" # If you want verbose output for OpenRC, set this to yes. If you want # verbose output for service foo only, set it to yes in /etc/conf.d/foo. #rc_verbose=no # By default we filter the environment for our running scripts. To allow other # variables through, add them here. Use a * to allow all variables through. #rc_env_allow="VAR1 VAR2" # By default we assume that all daemons will start correctly. # However, some do not - a classic example is that they fork and return 0 AND # then child barfs on a configuration error. Or the daemon has a bug and the # child crashes. You can set the number of milliseconds start-stop-daemon # waits to check that the daemon is still running after starting here. # The default is 0 - no checking. #rc_start_wait=100 # rc_nostop is a list of services which will not stop when changing runlevels. # This still allows the service itself to be stopped when called directly. #rc_nostop="" # rc will attempt to start crashed services by default. # However, it will not stop them by default as that could bring down other # critical services. #rc_crashed_stop=NO #rc_crashed_start=YES # Set rc_nocolor to yes if you do not want colors displayed in OpenRC # output. #rc_nocolor=NO ############################################################################## # MISC CONFIGURATION VARIABLES # There variables are shared between many init scripts # Set unicode to NO to turn off unicode support for keyboards and screens. #unicode="YES" # This is how long fuser should wait for a remote server to respond. The # default is 60 seconds, but it can be adjusted here. #rc_fuser_timeout=60 # Below is the default list of network fstypes. # # afs ceph cifs coda davfs fuse fuse.glusterfs fuse.sshfs gfs glusterfs lustre # ncpfs nfs nfs4 ocfs2 shfs smbfs # # If you would like to add to this list, you can do so by adding your # own fstypes to the following variable. #extra_net_fs_list="" ############################################################################## # SERVICE CONFIGURATION VARIABLES # These variables are documented here, but should be configured in # /etc/conf.d/foo for service foo and NOT enabled here unless you # really want them to work on a global basis. # If your service has characters in its name which are not legal in # shell variable names and you configure the variables for it in this # file, those characters should be replaced with underscores in the # variable names as shown below. # Some daemons are started and stopped via start-stop-daemon. # We can set some things on a per service basis, like the nicelevel. # These need to be exported #export SSD_NICELEVEL="0" # Or the ionice level. The format is class[:data] , just like the # --ionice start-stop-daemon parameter. #export SSD_IONICELEVEL="0:0" # Or the OOM score adjustment. #export SSD_OOM_SCORE_ADJ="0" # Pass ulimit parameters # If you are using bash in POSIX mode for your shell, note that the # ulimit command uses a block size of 512 bytes for the -c and -f # options #rc_ulimit="-u 30" # It's possible to define extra dependencies for services like so #rc_config="/etc/foo" #rc_need="openvpn" #rc_use="net.eth0" #rc_after="clock" #rc_before="local" #rc_provide="!net" # You can also enable the above commands here for each service. Below is an # example for service foo. #rc_foo_config="/etc/foo" #rc_foo_need="openvpn" #rc_foo_after="clock" # Below is an example for service foo-bar. Note that the '-' is illegal # in a shell variable name, so we convert it to an underscore. # example for service foo-bar. #rc_foo_bar_config="/etc/foo-bar" #rc_foo_bar_need="openvpn" #rc_foo_bar_after="clock" # You can also remove dependencies. # This is mainly used for saying which services do NOT provide net. #rc_net_tap0_provide="!net" # This is the subsystem type. # It is used to match against keywords set by the keyword call in the # depend function of service scripts. # # It should be set to the value representing the environment this file is # PRESENTLY in, not the virtualization the environment is capable of. # If it is commented out, automatic detection will be used. # # The list below shows all possible settings as well as the host # operating systems where they can be used and autodetected. # # "" - nothing special # "docker" - Docker container manager (Linux) # "podman" - Podman container manager (Linux) # "jail" - Jail (DragonflyBSD or FreeBSD) # "lxc" - Linux Containers # "openvz" - Linux OpenVZ # "prefix" - Prefix # "rkt" - CoreOS container management system (Linux) # "subhurd" - Hurd subhurds (to be checked) # "systemd-nspawn" - Container created by systemd-nspawn (Linux) # "uml" - Usermode Linux # "vserver" - Linux vserver # "xen0" - Xen0 Domain (Linux and NetBSD) # "xenU" - XenU Domain (Linux and NetBSD) #rc_sys="" # if you use openrc-init, which is currently only available on Linux, # this is the default runlevel to activate after "sysinit" and "boot" # when booting. #rc_default_runlevel="default" # on Linux and Hurd, this is the number of ttys allocated for logins # It is used in the consolefont, keymaps, numlock and termencoding # service scripts. rc_tty_number=12 ############################################################################## # LINUX CGROUPS RESOURCE MANAGEMENT # This sets the mode used to mount cgroups. # "hybrid" mounts cgroups version 2 on /sys/fs/cgroup/unified and # cgroups version 1 on /sys/fs/cgroup. # "legacy" mounts cgroups version 1 on /sys/fs/cgroup # "unified" mounts cgroups version 2 on /sys/fs/cgroup #rc_cgroup_mode="unified" # This is a list of controllers which should be enabled for cgroups version 2 # when hybrid mode is being used. # Controllers listed here will not be available for cgroups version 1. #rc_cgroup_controllers="" # This variable contains the cgroups version 2 settings for your services. # If this is set in this file, the settings will apply to all services. # If you want different settings for each service, place the settings in # /etc/conf.d/foo for service foo. # The format is to specify the setting and value followed by a newline. # Multiple settings and values can be specified. # For example, you would use this to set the maximum memory and maximum # number of pids for a service. #rc_cgroup_settings=" #memory.max 10485760 #pids.max max #" # # For more information about the adjustments that can be made with # cgroups version 2, see Documentation/cgroups-v2.txt in the linux kernel # source tree. #rc_cgroup_settings="" # This switch controls whether or not cgroups version 1 controllers are # individually mounted under # /sys/fs/cgroup in hybrid or legacy mode. #rc_controller_cgroups="YES" # The following setting turns on the memory.use_hierarchy setting in the # root memory cgroup for cgroups v1. # It must be set to yes in this file if you want this functionality. #rc_cgroup_memory_use_hierarchy="NO" # The following settings allow you to set up values for the cgroups version 1 # controllers for your services. # They can be set in this file;, however, if you do this, the settings # will apply to all of your services. # If you want different settings for each service, place the settings in # /etc/conf.d/foo for service foo. # The format is to specify the names of the settings followed by their # values. Each variable can hold multiple settings. # For example, you would use this to set the cpu.shares setting in the # cpu controller to 512 for your service. # rc_cgroup_cpu=" # cpu.shares 512 # " # # For more information about the adjustments that can be made with # cgroups version 1, see Documentation/cgroups-v1/* in the linux kernel # source tree. # Set the blkio controller settings for this service. #rc_cgroup_blkio="" # Set the cpu controller settings for this service. #rc_cgroup_cpu="" # Add this service to the cpuacct controller (any value means yes). #rc_cgroup_cpuacct="" # Set the cpuset controller settings for this service. #rc_cgroup_cpuset="" # Set the devices controller settings for this service. #rc_cgroup_devices="" # Set the hugetlb controller settings for this service. #rc_cgroup_hugetlb="" # Set the memory controller settings for this service. #rc_cgroup_memory="" # Set the net_cls controller settings for this service. #rc_cgroup_net_cls="" # Set the net_prio controller settings for this service. #rc_cgroup_net_prio="" # Set the pids controller settings for this service. #rc_cgroup_pids="" # Set this to YES if you want all of the processes in a service's cgroup # killed when the service is stopped or restarted. # Be aware that setting this to yes means all of a service's # child processes will be killed. Keep this in mind if you set this to # yes here instead of for the individual services in # /etc/conf.d/. # To perform this cleanup manually for a stopped service, you can # execute cgroup_cleanup with /etc/init.d/ cgroup_cleanup or # rc-service cgroup_cleanup. # If the kernel includes support for cgroup2's cgroup.kill, this is used # to reliably teardown the cgroup. # If this fails, the process followed in this cleanup is the following: # 1. send stopsig (sigterm if it isn't set) to all processes left in the # cgroup immediately followed by sigcont. # 2. Send sighup to all processes in the cgroup if rc_send_sighup is # yes. # 3. delay for rc_timeout_stopsec seconds. # 4. send sigkill to all processes in the cgroup unless disabled by # setting rc_send_sigkill to no. # rc_cgroup_cleanup="NO" # If this is yes, we will send sighup to the processes in the cgroup # immediately after stopsig and sigcont. #rc_send_sighup="NO" # This is the amount of time in seconds that we delay after sending sigcont # and optionally sighup, before we optionally send sigkill to all # processes in the # cgroup. # The default is 90 seconds. #rc_timeout_stopsec="90" # If this is set to no, we do not send sigkill to all processes in the # cgroup. #rc_send_sigkill="YES" ############################################################################## # SUPERVISE DAEMON CONFIGURATION VARIABLES # These variables sets more reasonable defaults for supervise-daemon(8). # They may be overriden on a per service basis. # Wait this number of seconds before restarting a daemon after it crashes. respawn_delay=2 # Sets the maximum number of times a daemon will be respawned during a respawn # period. If a daemon dies more than this number of times during a respawn # period, supervise-daemon(8) will give up trying to respawn it and exit. # 0 means unlimited. respawn_max=5 # Sets the length in seconds of a respawn period. respawn_period=1800 Kernel system variables configuration files Files found under the /etc/sysctl.d directory that end with .conf are parsed within sysctl(8) at boot time. If you want to set kernel variables you can either edit /etc/sysctl.conf or make a new file. The filename isn't important, but don't make it a package name as it may clash with something the package builder needs later. The file name must end with .conf, or it will not be read. The recommended location for local system settings is /etc/sysctl.d/local.conf but as long as you follow the rules for the name of the file, anything will work. see the sysctl.conf(5) man page for details of the format. This manpage can be found in the `procps-doc` package. ELF>@1@8 @@@@8888 -==-==88800hhh$$Std88800Ptd   QtdRtd-==xx/lib/ld-musl-x86_64.so.1 GNUGNUOWkE 0R Ne6 @  "s .S 8<CM   5_init_fini__cxa_finalize__libc_start_mainsetmntenterrstrcmpgetmntentmkdirendmntentlibc.musl-x86_64.so.1__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info????????? ? ? ? =PX5z/%|/@%z/hAVAUATUSHuH^H5HL-a/IHu.HH51Z/LpLLLO/uLJ/Hu>HSH@1@8 @@@@h h   )998,<<  88800hhh$$Std88800Ptd$%$%$%$$QtdRtd)9900/lib/ld-musl-x86_64.so.1 GNUGNU8OΧZYh+L !#935"L ( B D]x.^ )t < @z =(@__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainprintfstrdupstderrfputsstrsepexitstrrchrunsetenvgetopt_longoptargrc_service_resolverc_services_in_runlevelrc_stringlist_sortrc_stringlist_freerc_sysputcharoptindeerrorxrc_service_staterc_service_daemons_crashed__errno_locationexecvstrerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc??? ?(?0?8?@?H? P? X? `? h? p?x???????????????< @!(@#?9GDDDDD@PX5.%.@%.hAWAVAUATUSH(H.<$HdH%(H\$H/.HtHhH-%0E1E1E1H=b1E1.D$E1<$H )HHfx.Ov'M+Dt\I#H51H=-CtNN(H[HcHA뀺H5H=H5H=/.MH=.1S.HH.A"1-H8HD$H|$5.HD$HHtH;-H[H|$-+H=].-HH;HR-H.13AD$H5H=#1<$jH5h.H=1,-HHtH=1,H5H=1, ,1;-H5H=--t!H5yH=jH5aH=RA@Hc-HH;HuH5v-H=41g,q,H$Hu@HH5E-H=%H;+EuEu#-H;1,`+,8 uPDEt tg2Et !|$t H$HHH++8)+H5,H= H1+ EtHD$dH+%(t+H([]A\A]A^A_H1HH5s(H7HWLE1H H=f.DH=q+Hj+H9tH*Ht H=A+H5:+H)HH?HHHtH}*HtfD=9+uGUH=&*Ht H=**gH=/*t H=N **]ff.@H=x*t&UH5*H=H^*]8+AWHb H5g AVAUL-0$ATUH-$SHH|$ H=q dL4%(Lt$8L5 HD$(H HD$01D$-?,Lt$ )H5H= 1(HUHEHcMLD$ HL ^wHt$H=u 1(I]AHt,H$)HHuH=W H5>&P)eH\$H|$H5" (IHt,$D)~LH= 1L(LE1X(HH I(+|$ (PX[arg]Usage: rc-service [options] [-i] ... or: rc-service [options] -e or: rc-service [options] -l or: rc-service [options] -r Options: [ %s ] %3s --%s %sout of memory %*sEINFO_QUIETyesRC_DEBUGRC_NODEPSIN_DRYRUNNOEINFO_COLOR%s (OpenRC [%s]0.55.1) %sYESEINFO_VERBOSEEERROR_QUIET%s: you need to specify a service%s: service `%s' does not exist%s: %sset xtrace when running the commandignore dependenciestests if the service exists or notif the service is crashed run the commandif the service exists run the commandif the service is inactive run the commandif the service is not started run the commandif the service is started run the commandif the service is stopped run the commandlist all available servicesresolve the service name to an init scriptdry run (show what would happen)Display this help outputDisable color outputDisplay software versionRun verboselyRun quietly (repeat to suppress errors)debugnodepsifcrashedifexistsifinactiveifnotstartedifstartedifstoppedlistresolvedry-runhelpnocolorverbosequiet =\%cdDe:ilr:INsSZChqVv; < qdzRx $ FJ w?;*3$"0DeBPB I(A0H8DHxlBBB B(A0A8D`8C0A(B BBB`!!!"+"Q"|""""#E#f######d#D#e#c#i$I$N$s%$S/$l4$r<$ZD$hI$C#VQ$vY$q  99o0  >0 0  o$H # %<&@rc-service.debug.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o<C `K00S0 0 ]B0 0 gH H qb w00} $$%$%$H%H%9)9)9) <, >.@0 @0 0 0#!/bin/sh # Copyright (c) 2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. # Define variables scandir="/run/openrc/s6-scan" statfile=/dev/shm/s6-svstat.${USER} color_red='\E[01;31m' color_green='\E[32m' color_yellow='\E[01;33m' # Time Modules uptimeModules() { # Given a single integer argument representing seconds of uptime... # convert uptime to a friendly human readable string: '2d 16h 58m 46s' # define a variable to keep track of the longest length uptime string uSec=${1:-0} uDay=$(( $uSec / 86400 )) uSec=$(( $uSec % 86400 )) uHour=$(( $uSec / 3600 )) uSec=$(( $uSec % 3600 )) uMin=$(( $uSec / 60 )) uSec=$(( $uSec % 60 )) [ $uDay -ne 0 ] && pDay="${uDay}d " || pDay="" [ $uHour -ne 0 ] && pHour="${uHour}h " || pHour="" [ $uMin -ne 0 ] && pMin="${uMin}m " || pMin="" [ $uSec -ne 0 ] && pSec="${uSec}s " || pSec="" parsedUptime="$( echo ${pDay}${pHour}${pMin}${pSec} | sed 's#[ \t]*$##' )" uCharCount=${#parsedUptime} } # Make sure we are running as root if [ $(id -u) != 0 ]; then printf "This command must be run as root\n" exit 1 fi # Make sure scandir exists if [ ! -d $scandir ]; then printf "%s\n" "$scandir does not exist" exit 1 fi # Make sure s6-svscan is running if ! pgrep s6-svscan >/dev/null ; then printf "s6-svscan is not running\n" exit 1 fi # If TERM is undefined (launching sstat through an ssh command) then make it vt100 if [ -z $TERM -o $TERM = "dumb" ]; then export TERM=vt100 fi # Gather list of candidate services s6-supervise may be supervising # filter for folders and symlinks at /run/openrc/s6-scan/* omitting output starting with '.' services="$(find $scandir -maxdepth 1 -mindepth 1 \( -type d -or -type l \) | awk -F'/' '{ if ( $NF !~ "^\\." ) print $NF}')" if [ -z "$services" ]; then printf "s6 found no services configured for supervision\n" exit 1 fi # Gather status for each service from s6-svstat # write to tmp file in memory for non I/O bound repetitive access rm -f $statfile 2>/dev/null for service in $services ; do echo "$service $(s6-svstat ${scandir}/${service})" >> $statfile done # Define longest string from parsed uptime (default to 7 to match string length of 'Up Time') timeStringLength=7 for uptime in $(awk '$2 == "up" {print $5}' $statfile | sort -run) do uptimeModules $uptime [ ${uCharCount} -gt $timeStringLength ] && timeStringLength=$uCharCount done # Print the status header like so... # Service Name State PID Up Time Start Time #---------------------------- ----- ----- -------------- ------------------- printf "\n" printf "%28s %5s %5s %${timeStringLength}s %19s\n" "Service Name" "State" "PID" "Up Time" "Start Time" for dashes in 28 5 5 $timeStringLength 19 ; do printf "%0.s-" $(seq 1 $dashes) ; echo -n ' ' done && printf "\n" # sshd up (pid 26300) 80373 seconds cat $statfile | \ while read line do set $line service=$1 state=$2 pid=${4/)/} time=$5 # call function to convert time in seconds and define additional variables uptimeModules $time if [ "$state" = up ]; then if [ $time -lt 30 ]; then # uptime < 30 seconds, color the whole line yellow echo -en "$color_yellow" # 1st 4 columns are printed with printf for space padding printf "%28s %5s %5s %${timeStringLength}s" $service $state $pid "$parsedUptime" # 4th column is output from date -d echo -e " $(date -d "${time} seconds ago" "+%F %T")" # reset terminal colors tput sgr0 else printf "%28s" $service # uptime > 30 seconds, color just the "state" value green echo -en "$color_green" printf " %5s" $state # reset terminal colors tput sgr0 printf " %5s" $pid printf " %${timeStringLength}s" "$parsedUptime" echo -e " $(date -d "${time} seconds ago" "+%F %T")" fi else printf "%28s" $service echo -en "$color_red" printf " %5s" $state tput sgr0 echo "" fi done # Cleanup rm -f $statfile 2>/dev/null printf "\n\n" rc-status ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!ebegin.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!eend.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!eerror.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!eerrorn.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!eindent.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!einfo.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!einfon.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!eoutdent.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!esyslog.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!eval_ecolors.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!ewaitfile.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!ewarn.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!ewarnn.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!ewend.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@HHE E  p*p:p:P,<<  88800hhh$$Std88800Ptd###,,QtdRtdp*p:p:/lib/ld-musl-x86_64.so.1 GNUGNU } jFmw)ɲa &L&'()*+,3Ź@9ݣk"3"h+ ( $FMzB aW ^ H@@@<? @z Bt !@@__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_main__environposix_spawnpstrerroreerrorx__errno_locationwaitpid__stack_chk_failprintfstrdupstderrfputsstrsepexitrc_stringlist_newstatunsetenvstrrchrgetopt_longoptargsscanfsetmntentgetmntentstrcmprc_stringlist_addendmntentrc_sysputcharoptindrc_stringlist_deleterc_stringlist_freegetenvrc_yesnolibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>?? ? ? ? (? 0?8?@?H?P?X?`?h?p?x??????????!?"?#?$?%<( @)@@'H@&> p:DDDDD@PX5.%.@%.hAWAVAAUATUSHdL,%(L$Ij/Ht$(H=H-/tH=1/H=A:.Im/H.HtHhH-0E1E1H *LDH.va"R:CMbHHcH뇃VxoH5.<HT$$H~1H50-H.tIuHH=1-D:H5WH=-HD$H|$-HHtfHBHT$H5HD$H-tHT$B$A=u9D$$uAu9D$$}tHt$H,H|$/-H߽,gHT$HrL%-HT$u HrH,H|$-HHuH|$,H5!H=s-,IHH5<H= ,HD$맺H5 H= 1AH5-H= 1+,HHtH= 1+H5 H= 1+ t+1 H5 H= +G1-)-t+H5T H=_ ĺH5? H= 믿A@ D95M,HHtsHLc=5,HRD|$$EE9~8K|H1DD$IHT$HL$L+HL$HT$DD$uE9HT$H1H*HT$HuHc+D9}tPItH߉+q*EuVH5UH= *IL*HtHpH8*L*H;u?IuH= 1*H;u&H *H$dH+%(I)H5 H=B ,*L+HD$MM}H5 H= *HD$H|$3*IHtIvL*uH|$)M@tu1LAH= ()H)uht6%t5IVIH=- 1IvME(<t u2I> I~I}(Av$H= 1(AMmH|$)H(DM)H[]A\A]A^A_H1HH5%H7HWLE1H QH=zeDH=A)H:)H9tH(Ht H=)H5 )H)HH?HHHtH%(HtfD=))uGUH='Ht H=('gH='t H= '(]ff.@H=@(t&UH5(H=G H&(]8+SH 3H`HGHdL%(LD$XAH5HL$HD$HHD$ HGHt$HD$(HGEuHT$01HD$8HT$@"HD$HH1HL$0H\$8HT$@HD$PH|$L '11LD$H&Džt*l&H55(H=H1&'8u1ҋ|$H)&x$uHT$XdH+%(tI&H`[AWH=AVAUL-!ATUH-!SHHH5'|$ H=dL4%(Lt$8L5/HD$(HHD$01D$-?,Lt$ %H5 H=1}%HUHEHcMLD$ HL ^wHt$H=1A%I]AHt,H%HHuH=H5"&eH\$H|$H5m%IHt,$D)~LH=h1$LE1$HH I%+|$ v%PX-o-tremount%s: posix_spawnp: %s[arg]Usage: %s [options] Options: [ %s ] %3s --%s %sout of memory %*s/etc/fstab/etc/fstab does not existEINFO_QUIET%d%s: invalid passno %snone,NOEINFO_COLOR%s (OpenRC [%s]0.55.1) %sYESEINFO_VERBOSEEERROR_QUIET%s: empty fstab-o %s -t %s %s %s %d Mounts the filesystem from the mountpointRemounts the filesystem based on the information in fstabExtract the block deviceShow arguments needed to mount the entryExtract the options fieldExtract or query the pass number fieldList entries with matching file system typeDisplay this help outputDisable color outputDisplay software versionRun verboselyRun quietly (repeat to suppress errors)blockdevicemountargsoptionspassnofstypehelpnocolorverbosequiet/9aCMRbmop:t:ChqVv;,HEp]zRx $@ FJ w?;*3$" DAKp A0heBIB I(A0H8DHRBBE B(A0A8G.8F0A(B BBB0;!e!!!!!""N"g"|""" M R"b"m"o"p"t"h"C"V#v #q  Bp:x:o0 & >X  o$0#%<&@fstabinfo.debugR..shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9ohC 8K00&SX X ]Bg00qb w00 }BB ##,##p:p*x:x*:* <, >.@@0 @0 00ELF>R@1@8 @@@@ 00H-H=H=(X-X=X=  88800hhh$$Std88800Ptd QtdRtdH-H=H=/lib/ld-musl-x86_64.so.1 GNUGNU%۬r3@&@" ( B ^ t z __cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchreerrorxstrcmprc_service_value_getprintffreerc_service_value_setlibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc????????? ? ? ? ?? H=PX5j/%l/@%j/hAUAH=ATIUSQV/I$/HHQ/HtHXHH=Ht A~Ml$MtA}uHH=11/H5H)/tH5H/u3LH/H1HtgHH=s.H/JH5\H.tH5ZH.uIT$LH.HH==SZ[]A\A]H1HH5+H7HWL E1H H=DH=q.Hj.H9tH.Ht H=A.H5:.H)HH?HHHtH-HtfD=.uGUH=-Ht H=--gH=-t H=x--]ff.@H=-t&UH5-H=wHn-]8+PXRC_SVCNAME%s: no service specified%s: no option specifiedservice_get_valueget_options%sservice_set_valuesave_options%s: unknown applet;8`zRx $@ FJ w?;*3$"8D8"BLD A(A0(A DBB`  H=P=oX : x?8 o$#%X=&@get_options.debugץ.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KXX:S8]Bgqb w00e}2   H=H-P=P-X=X- x?x/@0 @0P 0 0ELF>u@1@8 @@@@hh -==-==  88800hhh$$Std88800Ptd QtdRtd-==/lib/ld-musl-x86_64.so.1 GNUGNU;I.&Et^37Q@ " ( B ^ t z __cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainrc_newer_thanlibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc???????=PX5/%/@%/h~:ATIUS11I4I|$/t H91[]A\øH1HH5-H7HWLE1H ^H=rfH=Q/HJ/H9tH&/Ht H=!/H5/H)HH?HHHtH.HtfD=.uGUH=.Ht H=..gH=.t H=x..]ff.@H=p.t&UH5.H=HV.]8+PX;80`zRx $ FJ w?;*3$",DEGDC mABA   ==o ?8 o$P#%=&@is_newer_than.debug&.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KS]B88gPPqb w00}  t=-=-=- ?/P@0 @0P 0 0ELF>u@1@8 @@@@hh -==-==  88800hhh$$Std88800Ptd QtdRtd-==/lib/ld-musl-x86_64.so.1 GNUGNUy] _Axe`@ " ( B ^ t z __cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainrc_newer_thanlibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc???????=PX5/%/@%/h~:ATIUS11I4I|$/tH91[]A\øH1HH5-H7HWLE1H ^H=rfH=Q/HJ/H9tH&/Ht H=!/H5/H)HH?HHHtH.HtfD=.uGUH=.Ht H=..gH=.t H=x..]ff.@H=p.t&UH5.H=HV.]8+PX;80`zRx $ FJ w?;*3$",DEGDC mABA   ==o ?8 o$P#%=&@is_older_than.debug?]].shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KS]B88gPPqb w00}  t=-=-=- ?/P@0 @0P 0 0#!/bin/sh # Detect AC power or not in a portable way # Exit 0 if on AC power, 1 if not and 255 if we don't know how to work it out # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. if [ -f /proc/acpi/ac_adapter/*/state ]; then cat /proc/acpi/ac_adapter/*/state | while read line; do case "$line" in "state:"*"off-line") exit 128;; esac done elif [ -d /sys/class/power_supply ]; then for dir in /sys/class/power_supply/*/; do [ "$(cat "${dir}/type")" != "Mains" ] && continue [ "$(cat "${dir}/online")" = 0 ] && exit 128 done elif [ -f /proc/pmu/info ]; then cat /proc/pmu/info | while read line; do case "$line" in "AC Power"*": 0") exit 128;; esac done elif command -v envstat >/dev/null 2>&1; then # NetBSD has envstat envstat -d acpiacad0 2>/dev/null | while read line; do case "$line" in "connected:"*"OFF") exit 128;; esac done elif sysctl -q hw.acpi.acline >/dev/null 2>/dev/null; then case $(sysctl -n hw.acpi.acline) in 0) exit 1;; *) exit 0;; esac else exit 255 fi [ $? != 128 ] #!/bin/sh # This is a reimplementation of the systemd binfmt.d code to register # misc binary formats with the kernel. # # See the binfmt.d manpage as well: # http://0pointer.de/public/systemd-man/binfmt.d.html # This script should match the manpage as of 2015/03/31 # Copyright (c) 2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. apply_file() { [ $# -lt 1 ] && return 0 FILE="$1" LINENUM=0 ### FILE FORMAT ### # See https://www.kernel.org/doc/Documentation/binfmt_misc.txt while read -r line; do LINENUM=$(( LINENUM+1 )) case $line in \#*) continue ;; \;*) continue ;; '') continue ;; esac local reg=${line#*:} [ -e /proc/sys/fs/binfmt_misc/${reg%%:*} ] && echo -1 > /proc/sys/fs/binfmt_misc/${reg%%:*} echo "${line}" > /proc/sys/fs/binfmt_misc/register rc=$? if [ $rc -ne 0 ]; then printf "binfmt: invalid entry on line %d of \`%s'\n" \ "$LINENUM" "$FILE" >&2 error=1 fi done <$FILE return $rc } [ -e /proc/sys/fs/binfmt_misc/register ] || exit 0 error=0 if [ $# -gt 0 ]; then while [ $# -gt 0 ]; do apply_file "$1" shift done else # The hardcoding of these paths is intentional; we are following the # systemd spec. binfmt_dirs='/usr/lib/binfmt.d/ /run/binfmt.d/ /etc/binfmt.d/' binfmt_basenames='' binfmt_d='' # Build a list of sorted unique basenames # directories declared later in the binfmt_d list will override earlier # directories, on a per file basename basis. # `/run/binfmt.d/foo.conf' supersedes `/usr/lib/binfmt.d/foo.conf'. # `/run/binfmt.d/foo.conf' will always be read after `/etc/binfmt.d/bar.conf' for d in ${binfmt_dirs} ; do [ -d $d ] && for f in ${d}/*.conf ; do case "${f##*/}" in systemd.conf|systemd-*.conf) continue;; esac [ -e $f ] && binfmt_basenames="${binfmt_basenames}\n${f##*/}" done # for f in ${d} done # for d in ${binfmt_dirs} binfmt_basenames="$(printf "${binfmt_basenames}\n" | sort -u )" for b in $binfmt_basenames ; do real_f='' for d in $binfmt_dirs ; do f=${d}/${b} [ -e "${f}" ] && real_f=$f done [ -e "${real_f}" ] && binfmt_d="${binfmt_d} ${real_f}" done # loop through the gathered fragments, sorted globally by filename. # `/run/binfmt.d/foo.conf' will always be read after `/etc/binfmt.d/bar.conf' for FILE in $binfmt_d ; do apply_file "$FILE" done fi exit $error # vim: set ts=2 sw=2 sts=2 noet ft=sh: #!/bin/sh # This is run by the kernel after the last task is removed from a # control group in the openrc hierarchy. # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. cgroup=/sys/fs/cgroup/openrc PATH=/bin:/usr/bin:/sbin:/usr/sbin if [ -d ${cgroup}/"$1" ]; then rmdir ${cgroup}/"$1" fi ELF>@1@8 @@@@^ ^   P)P9P9Ph,h<h<  88800hhh$$Std88800Ptd$$$,,QtdRtdP)P9P9/lib/ld-musl-x86_64.so.1 GNUGNUD̂Œ _,+L+,-/93f"4= ( &|B OwUo^ t `< @z [-(@__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainmallocregcompregerroreerrorxstderrfputsexit__stack_chk_failprintfstrdupstrsepstrrchrrc_stringlist_newgetopt_longoptargrc_sysputcharsetenvoptindrealpathrc_stringlist_addfopen__errno_locationstrerrorgetlinestatsetmntentgetmntentstrcmpendmntentstrstrregexecfcloserc_stringlist_freeregfreegetenvrc_yesnolibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > ? ? ?? ?(?0?8?@?H?P?X?`?h?p?x?????? ?!?"?#?%?&?'?(?)?*`<, @-(@/>$P9ODDDDD@PX5z.%|.@%z.hAWAVAAUATUSHhHdL,%(L$XI/H.HtHXH$1H0HA1L=d)./111H$HʼnL$LHt$ Ht$8Ht$H|$0H|$(H|$H|$E1LHLD-C3THHcHD$LHt H.H=.HH|$t H|$.H=.HD$pH|$(t H|$(k.H=.HD$(GH|$0t H|$0B.H=s.sHD$0H|$8t H|$8.H=J.JHD$8H|$ t H|$ -H=!.!HD$ H|$t H|$-H=-HD$H|$t H|$-H=-HD$zAoE1gH5H= 1A>H5-H= 1+-HHtH= 1+H5 H= 1+ +1,H5 H= ,t-l-tH5p H= ĺH5[ H=f 믿zoD$LbAW1L,R+HHHD$@LELB+H|$@/,i,D9}$HcM|A?/tIuLH= 1+H5H= d+HD$PHu +8*H= H1R++I1H|$pHT$PHt$xHD$pm+H|$pHL$H$H5 L+LH5 I+LH5 HD$X*LH5 L5a HD$@*H$LHD$`*tdH5LL*HD$hH|$h*IHtIvH|$Xm*uH|$h*MtI~H5 )1H‰T$h^*H|$@H5 I*|$LT$hut&wHUH,|$Luu H}NH|$(u H|$0u ;E111H|$(L)tE111H|$0Lw)HtE111Ht$@HU)H|$tE111Ht$@H|$.)H|$8tE111Ht$`H|$8)H|$ E111Ht$`H|$ (^HT$hHRHtPHt$XH:HT$h(uAtAtELEl$X Ll$@Ll$`Mt1LLA'H|$p(#(H|$PK(H'HtH(H(H|$tH|$x(H|$(H|$(tH|$(Z(H|$(o(H|$0tH|$0<(H|$0Q(H|$8tH|$8(H|$83(H|$ tH|$ (H|$ (IGAH-H@HHtuH|$u H|$u4E111H3H|$Y't;E111H3H|$>'t"H&H&u H;{&E1HCH@HL&H|$tH|$G'H|$\'H|$tH|$)'H|$>'H$XdH+%(t=&HhD[]A\A]A^A_H1HH5#H7HWL`E1H H=$f.DH=&H&H9tH&Ht H=&H5&H)HH?HHHtH%HtfD=&uGUH=6%Ht H=R&$%gH=O%t H= @%i&]ff.@H=%t&UH5^&H=g H%]8+USHdH,%(H$H@$HtIHHú H$DžtNHl$H޹H%H5&H1H=z$H=^H5!)%$H$dH+%(t-$HH[]AWH=AVAUL-lATUH-SHHH5%|$ H=dL4%(Lt$8L5EHD$(HHD$01D$-?,Lt$ `#H5H=M1J#H5sH=14#HUHEHcMLD$ HL ^wHt$H=1"I]AHt,H#HHuH=$H5} #eH\$H|$H5m#IHt,$D)~LH=Y1"LE1"HH I#+|$ U#PXout of memory %s: invalid regex `%s'[arg]Usage: %s [options] [mount1] [mount2] ... Options: [ %s ] %3s --%s %s%*sNOEINFO_COLOR%s (OpenRC [%s]0.55.1) %sYESEINFO_VERBOSEEINFO_QUIETEERROR_QUIET%s: `%s' is not a mount point/proc/mountsgetmntinfo: %s/etc/fstab_netdevrootfsfstype regex to findfstype regex to skipnode regex to findnode regex to skipoptions regex to findoptions regex to skippoint regex to findpoint regex to skipprint optionsprint fstypeprint nodeis it a network deviceis it not a network deviceDisplay this help outputDisable color outputDisplay software versionRun verboselyRun quietly (repeat to suppress errors)skip-fstype-regexskip-node-regexskip-options-regexskip-point-regexnonetdevhelpnocolorverbosequietcL[1LLLLLLL'LLLLLLLLLLLLLLLLLLLL{hLLLLZLP[Lf:F:n:N:o:O:p:P:iste:E:ChqVv;,H0%pzRx $ FJ w?;*3$"(DAAGDA0p<{BIB I(A0H8DHXBBE B(A0A8G8D0A(B BBB-!B!W!j!}!!!!!!!!")"B"W"p"~""f"F"n"N"o"O"p"P!i!s!t!e"E"h"Ch"V#v #q  [P9X9oP 6 >   o$# %h<&@mountinfo.debug=d!.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o<C KPP6S ]Bg qb w00+ }[[ $$,0$0$P9P)X9X)`9`) h<h, >.h@0 @0 00ELF>s@1@8 @@@@6 6  ll0*0:0:pH,H<H<  88800hhh$$Std88800Ptd$$$44QtdRtd0*0:0:/lib/ld-musl-x86_64.so.1 GNUGNUJuOrX]qZY/L/01393$2`"Og# ( 8B +?o^ ,t @< @z 3(@__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrdupstderrfputsexitstrsep__errno_locationrc_deptree_update_neededebeginrc_deptree_updateeendstatstrerroreerrorctimeeerrornfopenfprintffcloseutimeunlinkrc_deptree_load__stack_chk_failgetenvstrrchrrc_stringlist_newgetopt_longoptargrc_stringlist_addrc_sysputcharsetenvrc_deptree_load_filerc_runlevel_getoptindrc_deptree_dependsrc_stringlist_freerc_deptree_freeeerrorxlibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?&?'?(?)?*?+?,?-?.@<0 @1(@3>%0:DDDDD@PX5Z.%\.@%Z.hAWAVAH=AUIATUSH8_.H\I]/HH.HtHXH0E11//HD$AE1H *LDHU-v`*Tt?CFhH=8/H뢃aKHHcHVtl1AsAjAaH5H=.9.HHAH|$-ӺH5H=1A H5/H=1, .HHtH=1,H5H=1, ,1-H5mH=jJ-..tuH53H=JĺH5H=)믿H+H|$x+H+HV,EH="1+HD$H8u"H5H++H|$H5+EHT$Ht$HH+L0IMt6L-Y I6L1*MvMt d*ܿ W*H|$*H|$*L*H*H+H81[]A\A]A^A_H1HH5'H7HWLE1H `H=t@H=Q+HJ+H9tH*Ht H=!+H5+H)HH?HHHtH%*HtfD=+uGUH=)Ht H=*)gH=)t H=.)*]ff.@H=P*t&UH5*H=H6*]8+HHt-Q)HuH=0 H5i&))ZAWH AVAUL-A$ATUH-$SHHH5*|$ H= dL4%(Lt$8L5 HD$(H HD$01D$-?,Lt$ 5(H5 H= 1(HUHEHcMLD$ HL ^wHt$H= 1'I]AHt,H(HHuH=/ H5h%(eH\$H|$H5K (IHt,$D)~LH=7 1n'LE1'HH I(+|$ H(AVAUATUSHH $H@dL$%(L$8AL$8I(LH(H1H$i'AuOL%1L'Nj+u $'H=|1'&H51͉&Ht$La't$;m&LH=nH1p&1H$H9D$pHLH=I1A&L&H=OH1V&HH5i&HHtHLH5i1Y&H&H$Ht$LHD$HD$%H$H&u H<&n&H$8dH+%(t%H@[]A\A]A^PXout of memory [arg]Usage: %s [options] Options: [ %s ] %3s --%s %s%*s/run/openrc/deptreeCaching service dependenciesFailed to update the dependency treestat(%s): %sClock skew detected with `%s'Adjusting mtime of `/run/openrc/deptree' to %sw/run/openrc/clock-skewed%s RC_RUNLEVEL,NOEINFO_COLOR%s (OpenRC [%s]0.55.1) %sYESEINFO_VERBOSEEINFO_QUIETEERROR_QUIETfailed to load deptreeno dependency info for service `%s'no services specifiedineediuseOrder services as if runlevel is startingOrder services as if runlevel is stoppingType(s) of dependency to listDon't trace service dependenciesOnly use what is in the runlevelsForce an update of the dependency treeFile to load cached deptree fromDisplay this help outputDisable color outputDisplay software versionRun verboselyRun quietly (repeat to suppress errors)typenotracestrictupdatedeptree-filehelpnocolorverbosequietpy[=aot:suTF:ChqVv;4P x@zRx $ FJ w?;*3$"D%6Ik0\CeBIB I(A0H8DDtBBB A(A0G L"0A(A BBBH CBBL E(A0A8Dp8C0A(B BBB !"9"W"x"""""#)#7#"a0"o_#td#Tl#ss#uz#F#h#C!#V#v#q&4?  30:8:o z h>0  o$#%UH<&@rc-depend.debugjRc.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o<C KzS0 0 ]Bgqb w00 }33 $$4H$H$$0:0*8:8*@:@* H<H, h>h.@0 @0 00ELF>R@1@8 @@@@ 00H-H=H=(X-X=X=  88800hhh$$Std88800Ptd QtdRtdH-H=H=/lib/ld-musl-x86_64.so.1 GNUGNU%۬r3@&@" ( B ^ t z __cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchreerrorxstrcmprc_service_value_getprintffreerc_service_value_setlibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc????????? ? ? ? ?? H=PX5j/%l/@%j/hAUAH=ATIUSQV/I$/HHQ/HtHXHH=Ht A~Ml$MtA}uHH=11/H5H)/tH5H/u3LH/H1HtgHH=s.H/JH5\H.tH5ZH.uIT$LH.HH==SZ[]A\A]H1HH5+H7HWL E1H H=DH=q.Hj.H9tH.Ht H=A.H5:.H)HH?HHHtH-HtfD=.uGUH=-Ht H=--gH=-t H=x--]ff.@H=-t&UH5-H=wHn-]8+PXRC_SVCNAME%s: no service specified%s: no option specifiedservice_get_valueget_options%sservice_set_valuesave_options%s: unknown applet;8`zRx $@ FJ w?;*3$"8D8"BLD A(A0(A DBB`  H=P=oX : x?8 o$#%X=&@save_options.debugץ.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KXX:S8]Bgqb w00e}2   H=H-P=P-X=X- x?x/@0 @0P 0 0ELF> @1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_crashed.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0$0ELF>R@1@8 @@@@ 00H-H=H=(X-X=X=  88800hhh$$Std88800Ptd QtdRtdH-H=H=/lib/ld-musl-x86_64.so.1 GNUGNU%۬r3@&@" ( B ^ t z __cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchreerrorxstrcmprc_service_value_getprintffreerc_service_value_setlibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc????????? ? ? ? ?? H=PX5j/%l/@%j/hAUAH=ATIUSQV/I$/HHQ/HtHXHH=Ht A~Ml$MtA}uHH=11/H5H)/tH5H/u3LH/H1HtgHH=s.H/JH5\H.tH5ZH.uIT$LH.HH==SZ[]A\A]H1HH5+H7HWL E1H H=DH=q.Hj.H9tH.Ht H=A.H5:.H)HH?HHHtH-HtfD=.uGUH=-Ht H=--gH=-t H=x--]ff.@H=-t&UH5-H=wHn-]8+PXRC_SVCNAME%s: no service specified%s: no option specifiedservice_get_valueget_options%sservice_set_valuesave_options%s: unknown applet;8`zRx $@ FJ w?;*3$"8D8"BLD A(A0(A DBB`  H=P=oX : x?8 o$#%X=&@service_get_value.debugץ.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KXX:S8]Bgqb w00e}2   H=H-P=P-X=X- x?x/@0 @0P 0$0ELF> @1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_hotplugged.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF> @1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_inactive.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0$0ELF>R@1@8 @@@@ 00H-H=H=(X-X=X=  88800hhh$$Std88800Ptd QtdRtdH-H=H=/lib/ld-musl-x86_64.so.1 GNUGNU%۬r3@&@" ( B ^ t z __cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchreerrorxstrcmprc_service_value_getprintffreerc_service_value_setlibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc????????? ? ? ? ?? H=PX5j/%l/@%j/hAUAH=ATIUSQV/I$/HHQ/HtHXHH=Ht A~Ml$MtA}uHH=11/H5H)/tH5H/u3LH/H1HtgHH=s.H/JH5\H.tH5ZH.uIT$LH.HH==SZ[]A\A]H1HH5+H7HWL E1H H=DH=q.Hj.H9tH.Ht H=A.H5:.H)HH?HHHtH-HtfD=.uGUH=-Ht H=--gH=-t H=x--]ff.@H=-t&UH5-H=wHn-]8+PXRC_SVCNAME%s: no service specified%s: no option specifiedservice_get_valueget_options%sservice_set_valuesave_options%s: unknown applet;8`zRx $@ FJ w?;*3$"8D8"BLD A(A0(A DBB`  H=P=oX : x?8 o$#%X=&@service_set_value.debugץ.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KXX:S8]Bgqb w00e}2   H=H-P=P-X=X- x?x/@0 @0P 0$0ELF> @1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_started.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0$0ELF> @ 1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_started_daemon.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0$,0ELF> @1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_starting.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0$0ELF> @1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_stopped.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0$0ELF> @1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_stopping.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0$0ELF> @1@8 @@@@XX ,<<x0-0=0=  88800hhh$$Std88800Ptd QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU9CQסWr\]K@" ( B ^ t z U__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrgetenvrc_service_statestrcmpsscanfrc_service_started_daemonrc_service_daemons_crashed__errno_locationeerrorx__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ??h?<WUPX5B/%D/@%B/hAW1AVAAUATUSH(H.dH%(H\$HD$/H'/HtHhH-/A~HkH=t.HHt}uH5/H=]$HL-+E1.MD$ H/H$IuH<$.uICD'tD$ III uH<$H5 .uzH=A.HkIA~LcH{HT$1H5P..u1H{HT$H54.uILHkLcL$1LH..CH<$H5.uH.t!.8 H4$H=w1-HT$dH+%(t-H([]A\A]A^A_H1HH5+H7HWL(E1H H=f.H=-H-H9tHF-Ht H=-H5z-H)HH?HHHtH,HtfD=Y-uGUH=,Ht H="-,gH=,t H=N,-]ff.@H=,t&UH5-H=H,]8+PXRC_SVCNAME%s: no service specifiedservice_started_daemon%dservice_crashed%s: unknown appletservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failed;$4D\zRx $ FJ w?;*3$"HDBDE B(A0A8D`8A0A(B BBB a q       > -8  U<<o s P?hh o$#%N0=&@service_wasinactive.debugB@XP.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KsSh]Bhhgqb w00%}UU2  !!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF>@0@8 @@@@XX -==`-==88800hhh$$Std88800Ptd QtdRtd-==XX/lib/ld-musl-x86_64.so.1 GNUGNU)fd j @ 6 "T l .   _init_fini__cxa_finalize__libc_start_mainisalnumputcharlibc.musl-x86_64.so.1__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info????????=PX5/%/@%/hAVAUIATAUSA9~;Mt HuAtIƉ/u_L/H :/[1]A\A]A^H1HH5-H7HWL)E1H :H=cNf.@H=!/H/H9tH.Ht H=.H5.H)HH?HHHtH.HtfD=.uGUH=n.Ht H=.\.gH=W.t H=H..]ff.@H=@.t&UH5~.H=H&.]8+PX;80`zRx $ FJ w?;*3$"8DiBBE D(F0L(C BBBP>  ==o ?( o$@#%=&@shell_var.debugc.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KS]B((g@@qb w00}  =-=-=-?/X@0 @0P 00ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!vebegin.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!veend.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!veindent.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!veinfo.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!veoutdent.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!vewarn.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@h h  LL@,@<@<X,X<X<88800hhh$$Std88800Ptd!!!QtdRtd@,@<@</lib/ld-musl-x86_64.so.1 GNUGNUe]2 TbXu^=r1@1239Ie"(l[A ( Rq|B  !<6^ wt /P<z e__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainstrrchrstrcmpecolorprintfexit__errno_locationstrtoimaxstrchreerrorxatoistrcasecmpunsetenvgettimeofdayebeginvstatnanosleepeendvstrlenmallocstderrfputselogeindenteoutdenteindentveoutdentveerroreendewendfreeewendveinfoveinfovnewarnvewarnvneinfoeinfonewarnewarnneerrornebegin__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc>>>>>>>>> > > > > >>???? ?(?0?8?@?H?P?X?`?h?p?x?? ?!?"?#?$?%?&?'?(?*?+?,?-?.?/?0P<2>)@<UUPX5Z.%\.@%Z.hAWAVAAUATUSH8HdL,%(L$(I/H.HtHXH0ImH5|H/.I.HD$.H$.H.H.H=HQHH1ATLL$LD$-1.EfEH5'H].tPH5HI.tP  o$h# %X<&@X!^!c!i!o! !s!x!!!!vewend.debugf .shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o4C K$S ]BPPghh qb w005 }ee2 !!!!@<@,H<H,P<P,X<X,h>h.@0 A0X 01ELF>@1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_crashed.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF>@1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_failed.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF>@ 1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_hotplugged.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0$,0ELF>@1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_inactive.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF>@1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_started.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF>@1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_starting.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF>@1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_stopped.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF>@1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_stopping.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0 (0ELF>@ 1@8 @@@@(( ,<<x0-0=0=  88800hhh$$Std88800Ptd ! ! !QtdRtd,<<pp/lib/ld-musl-x86_64.so.1 GNUGNU$,]IН[ @" ( B ^ t z %__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvstrrchrstrncmpstrcmprc_service_markeerrorxsscanfkill__errno_locationstrerroreerror__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librcp?x???????? ? ? ? ? ????h?<WUPX5B/%D/@%B/hAWAVAH=AUATUSH(dH,%(Hl$H!//IH]H,/HtHXAH/M~LmMtA}uHH=eH5mH/ubHCL5+1HD$MI6H|$.uHAt/u,HIH uL^.MuHH=1.LL.ukH=+.HHtV1HT$H5W.u>|$$.t+Z.8-T$H5.H=H1-HT$dH+%(t-H([]A\A]A^A_H1HH5E+H7HWL$E1H H= fH=-H-H9tH-Ht H=-H5-H)HH?HHHtH=-HtfD=-uGUH=,Ht H=R-,gH=,t H=,I-]ff.@H=,t&UH5>-H=_H,]8+PXRC_SVCNAME%s: no service specifiedmark_%s: unknown appletRC_OPENRC_PID%d%s: failed to signal parent %d: %sservice_startedservice_stoppedservice_inactiveservice_startingservice_stoppingservice_hotpluggedservice_wasinactiveservice_failedservice_crashed;4$\zRx $ FJ w?;*3$"HDBBL B(A0A8D`8A0A(B BBBq           %<<o Z P? o$#%50=&@mark_service_wasinactive.debugw.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C KZS]Bgqb w00}%%2  ! !(!(!<,<,<, 0=0- P?P/@0 @0X 0$,0ELF>@1@8 @@@@ `-`=`=p-p=p=88800hhh$$Std88800Ptd4 4 4 QtdRtd`-`=`=/lib/ld-musl-x86_64.so.1 GNUGNU8$2p։F~jTMj@" ( B ^ t z __cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_maingetenvsscanfkill__errno_locationstrerroreerrorx__stack_chk_faillibeinfo.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo????????? ? ? ? ? `= PX5r/%t/@%r/hHdH<%(H|$H=Y/HtRHHT$H51m/u7|$ B/t)h/8/t$H=oH1B/HT$dH+%(t.HH1HH5,H7HWLE1H H=6!H=/H.H9tH.Ht H=.H5.H)HH?HHHtHu.HtfD=.uGUH=..Ht H=r..gH='.t H=.i.]ff.@H= .t&UH5^.H=H.]8+PXRC_PID%drc-abort: failed to signal parent %d: %s;4\zRx $ FJ w?;*3$"DD p  `=h=o@  ?pP  o$#%p=&@rc-abort.debug䢕V.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 880&hh$9o,C K@@SPP ]Bppgqb w00}2 34 4 P P \`=`-h=h-p=p-?/@0 @0P 00ELF>N@1@8 @@@@p p  +;;x,<<  88800hhh$$Std88800Ptd"""$$QtdRtd+;;pp/lib/ld-musl-x86_64.so.1 GNUGNU@݆]p垍lȣv+bH 93 "0= ( B *%^ t <z  @__cxa_finalize__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info_init_fini__libc_start_mainprintfstrdupstderrfputsstrsepfreeexitstrrchrgetopt_longrc_sysputcharsetenvoptindeerrorxopen__errno_locationstrerrorfutimensclosestatewarnsettimeofday__stack_chk_faillibeinfo.so.1librc.so.1libc.musl-x86_64.so.1$ORIGIN/../libeinfo:$ORIGIN/../librc(?0?8?@?H?P?X?`?h? p? x? ? ? ??????????????< @ ?;EDD@PX5.%.@%.hAVAUATUSHL&dH%(H$H/L/HtL`L%"0E1E1L5]+E1LHpHމ.Cq+VtIht=H5H=Cvtws1uH5/H=T1..HHtH=B1-H59H=91- -1j.H5H= .//tH5H=ĺH5H=믿AAHc2.9}PHÉ!.EuH=1-HߺA1-Ãu-8,H=H&1H-u ^-8,H=wH1-l-Ht$H!-uI-EH-S8tu~,HHH1,Ve,HHH1,HD$p1H|$HD$1HD$V,u,8$,H= HQH$dH+%(t$,Hİ1[]A\A]A^H1HH5)H7HWLE1H H=fH=q,Hj,H9tH+Ht H=A,H5:,H)HH?HHHtH+HtfD=9,uGUH=>+Ht H=+,+gH=?+t H=60++]ff.@H=+t&UH5+H= Hf+]8+AWHb AVAUL-&ATUH--'SHHH5+|$ H=B dL4%(Lt$8L5T HD$(H HD$01D$-?,Lt$ +*H5F H=k 1*H5 H= 1)HUHEHcMLD$ HL ^wHt$H= 1)I]AHt,H*HHuH= H5H'B*eH\$H|$H5| )IHt,$D)~LH=w 1N)LE1Z)HH I)+|$ )PX[arg]Usage: %s [options] Options: [ %s ] %3s --%s %sout of memory %*sNOEINFO_COLOR%s (OpenRC [%s]0.55.1) %sYESEINFO_VERBOSEEINFO_QUIETEERROR_QUIETswclock: Reference file was not specifiedswclock: open: %sswclock: futimens: %sswclock: `%s': %sswclock: settimeofday: %ssaves the timeno error if no reference fileDisplay this help outputDisable color outputDisplay software versionRun verboselyRun quietly (repeat to suppress errors)savewarnhelpnocolorverbosequietswChqVv;$@(hzRx $ FJ w?;*3$"0D{BIB I(A0H8D@xBBB A(C0G0C(A BBB`*!9!W!p!!!!!s!w!h!C!V!v!qN\g  ;;o  ?@  o$X #%}<&@swclock.debug.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu_debuglink 880&hh$9o8C KS]B@ @ gX X qb w00} ""$0"0";+;+;+H <, ?/@0 @0 00# Allow any sh script to work with einfo functions and friends # We also provide a few helpful functions for other programs to use # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. RC_GOT_FUNCTIONS="yes" eindent() { : $(( EINFO_INDENT = ${EINFO_INDENT:-0} + 2 )) [ "$EINFO_INDENT" -gt 40 ] && EINFO_INDENT=40 export EINFO_INDENT } eoutdent() { : $(( EINFO_INDENT = ${EINFO_INDENT:-0} - 2 )) [ "$EINFO_INDENT" -lt 0 ] && EINFO_INDENT=0 return 0 } yesno() { [ -z "$1" ] && return 1 # Check the value directly so people can do: # yesno ${VAR} case "$1" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) return 0;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) return 1;; esac # Check the value of the var so people can do: # yesno VAR # Note: this breaks when the var contains a double quote. local value= eval value=\"\$$1\" case "$value" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) return 0;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) return 1;; *) vewarn "\$$1 is not set properly"; return 2;; esac } rc_runlevel() { rc-status --runlevel } _sanitize_path() { local IFS=":" p= path= for p in $PATH; do case "$p" in /usr/libexec/rc/bin|/usr/libexec/rc/sbin);; /bin|/sbin|/usr/bin|/usr/sbin);; /usr/bin|/usr/sbin);; /usr/local/bin|/usr/local/sbin);; *) path="$path${path:+:}$p";; esac done echo "$path" } # Allow our scripts to support zsh if [ -n "$ZSH_VERSION" ]; then emulate sh NULLCMD=: alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST fi # Make a sane PATH _PREFIX= _PKG_PREFIX=/usr _LOCAL_PREFIX=/usr/local _LOCAL_PREFIX=${_LOCAL_PREFIX:-/usr/local} _PATH=/usr/libexec/rc/bin case "$_PREFIX" in "$_PKG_PREFIX"|"$_LOCAL_PREFIX") ;; *) _PATH="$_PATH:$_PREFIX/bin:$_PREFIX/sbin";; esac _PATH="$_PATH":/bin:/sbin:/usr/bin:/usr/sbin if [ -n "$_PKG_PREFIX" ]; then _PATH="$_PATH:$_PKG_PREFIX/bin:$_PKG_PREFIX/sbin" fi if [ -n "$_LOCAL_PREFIX" ]; then _PATH="$_PATH:$_LOCAL_PREFIX/bin:$_LOCAL_PREFIX/sbin" fi _path="$(_sanitize_path "$PATH")" PATH="$_PATH${_path:+:}$_path" ; export PATH unset _sanitize_path _PREFIX _PKG_PREFIX _LOCAL_PREFIX _PATH _path for arg; do case "$arg" in --nocolor|--nocolour|-C) EINFO_COLOR="NO" ; export EINFO_COLOR ;; esac done if [ -t 1 ] && yesno "${EINFO_COLOR:-YES}"; then if [ -z "$GOOD" ]; then eval $(eval_ecolors) fi else # We need to have shell stub functions so our init scripts can remember # the last ecmd for _e in ebegin eend error errorn einfo einfon ewarn ewarnn ewend \ vebegin veend veinfo vewarn vewend; do eval "$_e() { local _r; command $_e \"\$@\"; _r=\$?; \ EINFO_LASTCMD=$_e; export EINFO_LASTCMD ; return \$_r; }" done unset _e fi #!/bin/sh # Shell wrapper to list our dependencies # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. . /usr/libexec/rc/sh/functions.sh . /usr/libexec/rc/sh/rc-functions.sh config() { [ -n "$*" ] && echo "$RC_SVCNAME config $*" >&3 } need() { [ -n "$*" ] && echo "$RC_SVCNAME ineed $*" >&3 } use() { [ -n "$*" ] && echo "$RC_SVCNAME iuse $*" >&3 } want() { [ -n "$*" ] && echo "$RC_SVCNAME iwant $*" >&3 } before() { [ -n "$*" ] && echo "$RC_SVCNAME ibefore $*" >&3 } after() { [ -n "$*" ] && echo "$RC_SVCNAME iafter $*" >&3 } provide() { [ -n "$*" ] && echo "$RC_SVCNAME iprovide $*" >&3 } keyword() { local c x set -- $* while [ -n "$*" ]; do case "$1" in -containers) x="$(_get_containers)" ;; !-containers) x="$(_get_containers_remove)" ;; *) x=$1 ;; esac c="${c}${x} " shift done [ -n "$c" ] && echo "$RC_SVCNAME keyword $c" >&3 } depend() { : } _done_dirs= for _dir in \ /etc/init.d \ /usr/etc/init.d \ /usr/local/etc/init.d do [ -d "$_dir" ] || continue # Don't do the same dir twice for _d in $_done_dirs; do [ "$_d" = "$_dir" ] && continue 2 done unset _d _done_dirs="$_done_dirs $_dir" cd "$_dir" for RC_SERVICE in *; do [ -x "$RC_SERVICE" -a -f "$RC_SERVICE" ] || continue # Only generate dependencies for OpenRC scripts read one two three <"$RC_SERVICE" case "$one" in \#*/openrc-run) ;; \#*/runscript) ;; \#!) case "$two" in */openrc-run) ;; */runscript) ;; *) continue ;; esac ;; *) continue ;; esac unset one two three RC_SVCNAME=${RC_SERVICE##*/} ; export RC_SVCNAME # Compat SVCNAME=$RC_SVCNAME ; export SVCNAME ( # Save stdout in fd3, then remap it to stderr exec 3>&1 1>&2 _rc_c=${RC_SVCNAME%%.*} if [ -n "$_rc_c" -a "$_rc_c" != "$RC_SVCNAME" ]; then if [ -e "$_dir/../conf.d/$_rc_c" ]; then . "$_dir/../conf.d/$_rc_c" fi fi unset _rc_c if [ -e "$_dir/../conf.d/$RC_SVCNAME" ]; then . "$_dir/../conf.d/$RC_SVCNAME" fi [ -e /etc/rc.conf ] && . /etc/rc.conf if [ -d "/etc/rc.conf.d" ]; then for _f in "/etc"/rc.conf.d/*.conf; do [ -e "$_f" ] && . "$_f" done fi if . "$_dir/$RC_SVCNAME"; then echo "$RC_SVCNAME" >&3 _depend fi ) done done #!/bin/sh # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. : ${CONSOLE:=/dev/console} : ${RC_LIBEXECDIR:=/usr/libexec/rc} service_present() { local p="/etc/runlevels/$1/$2" # fail if the file doesn't exist [ ! -e "$p" ] && return 1 # succeed if $RC_SYS empty, can't check further, assume script will run [ -z "$RC_SYS" ] && return 0 # fail if file contains "-$RC_SYS", because then it won't run grep -Eqi "^[[:space:]]*keyword[[:space:]].*-$RC_SYS([[:space:]]|$)" "$p" && return 1 # succeed otherwise return 0 } if [ -e "$RC_LIBEXECDIR"/console/unicode ]; then termencoding="%G" kmode="-u" else termencoding="(K" kmode="-a" fi # Set the SELinux label on console before everything so we dont lose output [ -x /sbin/restorecon ] && /sbin/restorecon -F /dev/console # Try and set a font and as early as we can if service_present "$RC_DEFAULTLEVEL" consolefont || service_present "$RC_BOOTLEVEL" consolefont; then printf "\033%s" "$termencoding" >"$CONSOLE" 2>/dev/null if [ -r "$RC_LIBEXECDIR"/console/font ] && \ command -v setfont > /dev/null 2>&1; then [ -c "$CONSOLE" ] && cons="-C $CONSOLE" setfont $cons "$RC_LIBEXECDIR"/console/font 2>/dev/null fi fi # Try and set a keyboard map as early as possible if service_present "$RC_DEFAULTLEVEL" loadkeys || service_present "$RC_BOOTLEVEL" loadkeys; then kbd_mode $kmode -C "$CONSOLE" 2>/dev/null if [ -r "$RC_LIBEXECDIR"/console/keymap ]; then loadkeys -q "$RC_LIBEXECDIR"/console/keymap 2>/dev/null fi fi # Ensure we exit 0 so the boot continues exit 0 #!/bin/sh # Copyright (c) 1999-2007 Gentoo Foundation # Copyright (c) 2007-2009 Roy Marples # Released under the 2-clause BSD license. . "$RC_LIBEXECDIR"/sh/functions.sh [ -r "/etc/rc.conf" ] && . "/etc/rc.conf" if [ -d "/etc/rc.conf.d" ]; then for _f in "/etc"/rc.conf.d/*.conf; do [ -e "$_f" ] && . "$_f" done fi # check for md5sum, and probably /usr too if command -v md5sum >/dev/null; then got_md5sum=true else eerror "md5sum is missing, which suggests /usr is not mounted" eerror "If you have separate /usr, it must be mounted by initramfs" eerror "If not, you should check coreutils is installed correctly" got_md5sum=false fi # By default VServer already has /proc mounted, but OpenVZ does not! # However, some of our users have an old proc image in /proc # NFC how they managed that, but the end result means we have to test if # /proc actually works or not. We do this by comparing two reads of # /proc/self/environ for which we have set the variable VAR to two # different values. If the comparison comes back equal, we know that # /proc is not working. mountproc=true f=/proc/self/environ if [ -e $f ]; then if $got_md5sum && [ "$(VAR=a md5sum $f)" = "$(VAR=b md5sum $f)" ]; then eerror "You have cruft in /proc that should be deleted" else # If they don't have md5sum, this will fail in pretty ways if # /proc isn't really mounted. Oh well, their system is busted # anyway, and they get to keep the pieces. einfo "/proc is already mounted" mountproc=false fi fi unset f if $mountproc; then ebegin "Mounting /proc" if ! fstabinfo --mount /proc; then mount -n -t proc -o noexec,nosuid,nodev proc /proc fi eend $? fi # /run is a new directory for storing volatile runtime data. # Read more about /run at https://lwn.net/Articles/436012 sys="$(openrc --sys)" if [ ! -d /run ]; then if [ "$sys" = VSERVER ]; then if [ -e /run ]; then rm -rf /run fi mkdir /run else eerror "The /run directory does not exist. Unable to continue." return 1 fi fi if [ "$sys" = VSERVER ]; then rm -rf /run/* elif ! mountinfo -q /run; then ebegin "Mounting /run" run_mount_opts="mode=0755,nosuid,nodev,nr_inodes=800k,size=20%,strictatime" if ! fstabinfo --mount /run; then if ! mount -t tmpfs -o ${run_mount_opts} tmpfs /run; then eerror "Unable to mount tmpfs on /run." eerror "Can't continue." exit 1 fi fi eend fi checkpath -d "$RC_SVCDIR" checkpath -d -m 0775 -o root:uucp /run/lock # Try to mount xenfs as early as possible, otherwise rc_sys() will always # return RC_SYS_XENU and will think that we are in a domU while it's not. if grep -Eq "[[:space:]]+xenfs$" /proc/filesystems; then ebegin "Mounting xenfs" if ! fstabinfo --mount /proc/xen; then mount -n -t xenfs xenfs /proc/xen -o nosuid,nodev,noexec fi eend $? fi if [ -e "$RC_LIBEXECDIR"/cache/softlevel ]; then cp -p "$RC_LIBEXECDIR"/cache/* "$RC_SVCDIR" 2>/dev/null fi echo sysinit >"$RC_SVCDIR"/softlevel [ -x /sbin/restorecon ] && /sbin/restorecon -rF /run exit 0 #!/bin/sh # Shell wrapper for openrc-run # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. verify_boot() { if [ ! -e ${RC_SVCDIR}/softlevel ]; then eerror "You are attempting to run an openrc service on a" eerror "system which openrc did not boot." eerror "You may be inside a chroot or you may have used" eerror "another initialization system to boot this system." eerror "In this situation, you will get unpredictable results!" eerror eerror "If you really want to do this, issue the following command:" eerror "touch ${RC_SVCDIR}/softlevel" exit 1 fi return 0 } sourcex() { if [ "$1" = "-e" ]; then shift [ -e "$1" ] || return 1 fi if ! . "$1"; then eerror "$RC_SVCNAME: error loading $1" exit 1 fi } sourcex "/usr/libexec/rc/sh/functions.sh" sourcex "/usr/libexec/rc/sh/rc-functions.sh" case $RC_SYS in PREFIX|SYSTEMD-NSPAWN) ;; *) sourcex -e "/usr/libexec/rc/sh/rc-cgroup.sh";; esac # Support LiveCD foo if sourcex -e "/sbin/livecd-functions.sh"; then livecd_read_commandline fi if [ -z "$1" -o -z "$2" ]; then eerror "$RC_SVCNAME: not enough arguments" exit 1 fi # So daemons know where to recall us if needed RC_SERVICE="$1" ; export RC_SERVICE shift # Compat SVCNAME=$RC_SVCNAME ; export SVCNAME # Dependency function config() { [ -n "$*" ] && echo "config $*" } need() { [ -n "$*" ] && echo "need $*" } use() { [ -n "$*" ] && echo "use $*" } want() { [ -n "$*" ] && echo "want $*" } before() { [ -n "$*" ] && echo "before $*" } after() { [ -n "$*" ] && echo "after $*" } provide() { [ -n "$*" ] && echo "provide $*" } keyword() { local c x set -- $* while [ -n "$*" ]; do case "$1" in -containers) x="$(_get_containers)" ;; !-containers) x="$(_get_containers_remove)" ;; *) x=$1 ;; esac c="${c}${x} " shift done [ -n "$c" ] && echo "keyword $c" } # Describe the init script to the user describe() { if [ -n "$description" ]; then einfo "$description" else ewarn "No description for $RC_SVCNAME" fi local svc= desc= for svc in ${extra_commands:-$opts} $extra_started_commands \ $extra_stopped_commands; do eval desc=\$description_$svc if [ -n "$desc" ]; then einfo "$HILITE$svc$NORMAL: $desc" else ewarn "$HILITE$svc$NORMAL: no description" fi done } # Report status _status() { if service_stopping; then ewarn "status: stopping" return 4 elif service_starting; then ewarn "status: starting" return 8 elif service_inactive; then ewarn "status: inactive" return 16 elif service_crashed; then eerror "status: crashed" return 32 elif service_started; then einfo "status: started" return 0 else einfo "status: stopped" return 3 fi } # These functions select the appropriate function to call from the # supervisor modules default_start() { local func=ssd_start case "$supervisor" in runit) func=runit_start ;; s6) func=s6_start ;; supervise-daemon) func=supervise_start ;; ?*) ewarn "Invalid supervisor, \"$supervisor\", using start-stop-daemon" ;; esac $func } default_stop() { local func=ssd_stop case "$supervisor" in runit) func=runit_stop ;; s6) func=s6_stop ;; supervise-daemon) func=supervise_stop ;; ?*) ewarn "Invalid supervisor, \"$supervisor\", using start-stop-daemon" ;; esac $func } default_status() { local func=ssd_status case "$supervisor" in runit) func=runit_status ;; s6) func=s6_status ;; supervise-daemon) func=supervise_status ;; ?*) ewarn "Invalid supervisor, \"$supervisor\", using start-stop-daemon" ;; esac $func } # Template start / stop / status functions # package init scripts may override these, but the bodies are as minimal as # possible, so that the init scripts can creatively wrap default_* # functions. start() { default_start } stop() { default_stop } status() { default_status } # Start debug output yesno $RC_DEBUG && set -x # Load configuration settings. First the global ones, then any # service-specific settings. sourcex -e "/etc/rc.conf" if [ -d "/etc/rc.conf.d" ]; then for _f in "/etc"/rc.conf.d/*.conf; do sourcex -e "$_f" done fi _conf_d=${RC_SERVICE%/*}/../conf.d # If we're net.eth0 or openvpn.work then load net or openvpn config _c=${RC_SVCNAME%%.*} if [ -n "$_c" -a "$_c" != "$RC_SVCNAME" ]; then if ! sourcex -e "$_conf_d/$_c.$RC_RUNLEVEL"; then sourcex -e "$_conf_d/$_c" fi fi unset _c # Overlay with our specific config if ! sourcex -e "$_conf_d/$RC_SVCNAME.$RC_RUNLEVEL"; then sourcex -e "$_conf_d/$RC_SVCNAME" fi unset _conf_d # If we are configured to run in a VRF, provide a hint for that RC_VRF_EXEC="" if [ -n "$vrf" ]; then RC_VRF_EXEC="/sbin/ip vrf exec $vrf" fi # Add ip netns if configured to run in a netns (netns+vrf may stack) if [ -n "$netns" ]; then RC_VRF_EXEC="/sbin/ip netns exec $netns $RC_VRF_EXEC" fi # load service supervisor functions sourcex "/usr/libexec/rc/sh/runit.sh" sourcex "/usr/libexec/rc/sh/s6.sh" sourcex "/usr/libexec/rc/sh/start-stop-daemon.sh" sourcex "/usr/libexec/rc/sh/supervise-daemon.sh" # Load our script sourcex "$RC_SERVICE" # Set verbose mode if yesno "${rc_verbose:-$RC_VERBOSE}"; then EINFO_VERBOSE=yes export EINFO_VERBOSE fi for _cmd; do if [ "$_cmd" != status -a "$_cmd" != describe ]; then # Apply any ulimit defined if [ -n "${rc_ulimit:-$RC_ULIMIT}" ]; then if ! ulimit ${rc_ulimit:-$RC_ULIMIT}; then eerror "${RC_SVCNAME}: unable to apply RC_ULIMIT settings" fi fi # Apply cgroups settings if defined if [ "$(command -v cgroup_add_service)" = "cgroup_add_service" ] then if grep -qs /sys/fs/cgroup /proc/1/mountinfo then if [ -d /sys/fs/cgroup -a ! -w /sys/fs/cgroup ]; then eerror "No permission to apply cgroup settings" break fi fi cgroup_add_service fi [ "$(command -v cgroup_set_limits)" = "cgroup_set_limits" ] && cgroup_set_limits [ "$(command -v cgroup2_set_limits)" = "cgroup2_set_limits" ] && [ "$_cmd" = start ] && cgroup2_set_limits break fi done eval "printf '%s\n' $required_dirs" | while read _d; do if [ -n "$_d" ] && [ ! -d "$_d" ]; then eerror "$RC_SVCNAME: \`$_d' is not a directory" exit 1 fi done [ $? -ne 0 ] && exit 1 unset _d eval "printf '%s\n' $required_files" | while read _f; do if [ -n "$_f" ] && [ ! -r "$_f" ]; then eerror "$RC_SVCNAME: \`$_f' is not readable" exit 1 fi done [ $? -ne 0 ] && exit 1 unset _f if [ -n "$opts" ]; then ewarn "Use of the opts variable is deprecated and will be" ewarn "removed in the future." ewarn "Please use extra_commands, extra_started_commands or extra_stopped_commands." fi while [ -n "$1" ]; do # Special case depend if [ "$1" = depend ]; then shift # Enter the dir of the init script to fix the globbing # bug 412677 cd ${RC_SERVICE%/*} _depend cd / continue fi # See if we have the required function and run it for _cmd in describe start stop status ${extra_commands:-$opts} \ $extra_started_commands $extra_stopped_commands do if [ "$_cmd" = "$1" ]; then if [ "$(command -v "$1")" = "$1" ]; then # If we're in the background, we may wish to # fake some commands. We do this so we can # "start" ourselves from inactive which then # triggers other services to start which # depend on us. # A good example of this is openvpn. if yesno $IN_BACKGROUND; then for _cmd in $in_background_fake; do if [ "$_cmd" = "$1" ]; then shift continue 3 fi done fi # Check to see if we need to be started before # we can run this command for _cmd in $extra_started_commands; do if [ "$_cmd" = "$1" ]; then if verify_boot && ! service_started; then eerror "$RC_SVCNAME: cannot \`$1' as it has not been started" exit 1 fi fi done # Check to see if we need to be stopped before # we can run this command for _cmd in $extra_stopped_commands; do if [ "$_cmd" = "$1" ]; then if verify_boot && ! service_stopped; then eerror "$RC_SVCNAME: cannot \`$1' as it has not been stopped" exit 1 fi fi done unset _cmd case $1 in start|stop|status) verify_boot;; esac if [ "$(command -v "$1_pre")" = "$1_pre" ] then "$1"_pre || exit $? fi "$1" || exit $? if [ "$(command -v "$1_post")" = "$1_post" ] then "$1"_post || exit $? fi [ "$(command -v cgroup_cleanup)" = "cgroup_cleanup" ] && [ "$1" = "stop" ] && yesno "${rc_cgroup_cleanup}" && \ cgroup_cleanup if [ "$(command -v cgroup2_remove)" = "cgroup2_remove" ]; then [ "$1" = stop ] || [ -z "${command}" ] && cgroup2_remove fi shift continue 2 else if [ "$_cmd" = "start" -o "$_cmd" = "stop" ] then shift continue 2 else eerror "$RC_SVCNAME: function \`$1' defined but does not exist" exit 1 fi fi fi done eerror "$RC_SVCNAME: unknown function \`$1'" exit 1 done exit 0 # Copyright (c) 2012-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. extra_stopped_commands="${extra_stopped_commands} cgroup_cleanup" description_cgroup_cleanup="Kill all processes in the cgroup" cgroup_find_path() { local OIFS name dir result [ -n "$1" ] || return 0 OIFS="$IFS" IFS=":" while read -r _ name dir; do [ "$name" = "$1" ] && result="$dir" done < /proc/1/cgroup IFS="$OIFS" printf "%s" "${result}" } # This extracts all pids in a cgroup and puts them in the cgroup_pids # variable. # It is done this way to avoid subshells so we don't have to worry about # locating the pid of the subshell in the cgroup. # https://github.com/openrc/openrc/issues/396 cgroup_get_pids() { local cgroup_procs p cgroup_pids= cgroup_procs="$(cgroup2_find_path)" if [ -n "${cgroup_procs}" ]; then cgroup_procs="${cgroup_procs}/openrc.${RC_SVCNAME}/cgroup.procs" else cgroup_procs="/sys/fs/cgroup/openrc/${RC_SVCNAME}/tasks" fi [ -f "${cgroup_procs}" ] || return 0 while read -r p; do [ "$p" -eq $$ ] && continue cgroup_pids="${cgroup_pids} ${p}" done < "${cgroup_procs}" return 0 } cgroup_running() { [ -d "/sys/fs/cgroup/unified/${RC_SVCNAME}" ] || [ -d "/sys/fs/cgroup/${RC_SVCNAME}" ] || [ -d "/sys/fs/cgroup/openrc/${RC_SVCNAME}" ] } cgroup_set_values() { [ -n "$1" ] && [ -n "$2" ] && [ -d "/sys/fs/cgroup/$1" ] || return 0 local controller h controller="$1" h=$(cgroup_find_path "$1") cgroup="/sys/fs/cgroup/${1}${h}openrc_${RC_SVCNAME}" [ -d "$cgroup" ] || mkdir -p "$cgroup" set -- $2 local name val while [ -n "$1" ] && [ "$controller" != "cpuacct" ]; do case "$1" in $controller.*) if [ -n "${name}" ] && [ -w "${cgroup}/${name}" ] && [ -n "${val}" ]; then veinfo "$RC_SVCNAME: Setting $cgroup/$name to $val" printf "%s" "$val" > "$cgroup/$name" fi name=$1 val= ;; *) [ -n "$val" ] && val="$val $1" || val="$1" ;; esac shift done if [ -n "${name}" ] && [ -w "${cgroup}/${name}" ] && [ -n "${val}" ]; then veinfo "$RC_SVCNAME: Setting $cgroup/$name to $val" printf "%s" "$val" > "$cgroup/$name" fi if [ -w "$cgroup/tasks" ]; then veinfo "$RC_SVCNAME: adding to $cgroup/tasks" printf "%d" 0 > "$cgroup/tasks" fi return 0 } cgroup_add_service() { # relocate starting process to the top of the cgroup # it prevents from unwanted inheriting of the user # cgroups. But may lead to a problems where that inheriting # is needed. for d in /sys/fs/cgroup/* ; do [ -w "${d}"/tasks ] && printf "%d" 0 > "${d}"/tasks done openrc_cgroup=/sys/fs/cgroup/openrc if [ -d "$openrc_cgroup" ]; then cgroup="$openrc_cgroup/$RC_SVCNAME" mkdir -p "$cgroup" [ -w "$cgroup/tasks" ] && printf "%d" 0 > "$cgroup/tasks" fi } cgroup_set_limits() { local blkio="${rc_cgroup_blkio:-$RC_CGROUP_BLKIO}" [ -n "$blkio" ] && cgroup_set_values blkio "$blkio" local cpu="${rc_cgroup_cpu:-$RC_CGROUP_CPU}" [ -n "$cpu" ] && cgroup_set_values cpu "$cpu" local cpuacct="${rc_cgroup_cpuacct:-$RC_CGROUP_CPUACCT}" [ -n "$cpuacct" ] && cgroup_set_values cpuacct "$cpuacct" local cpuset="${rc_cgroup_cpuset:-$RC_CGROUP_cpuset}" [ -n "$cpuset" ] && cgroup_set_values cpuset "$cpuset" local devices="${rc_cgroup_devices:-$RC_CGROUP_DEVICES}" [ -n "$devices" ] && cgroup_set_values devices "$devices" local hugetlb="${rc_cgroup_hugetlb:-$RC_CGROUP_HUGETLB}" [ -n "$hugetlb" ] && cgroup_set_values hugetlb "$hugetlb" local memory="${rc_cgroup_memory:-$RC_CGROUP_MEMORY}" [ -n "$memory" ] && cgroup_set_values memory "$memory" local net_cls="${rc_cgroup_net_cls:-$RC_CGROUP_NET_CLS}" [ -n "$net_cls" ] && cgroup_set_values net_cls "$net_cls" local net_prio="${rc_cgroup_net_prio:-$RC_CGROUP_NET_PRIO}" [ -n "$net_prio" ] && cgroup_set_values net_prio "$net_prio" local pids="${rc_cgroup_pids:-$RC_CGROUP_PIDS}" [ -n "$pids" ] && cgroup_set_values pids "$pids" return 0 } cgroup2_find_path() { if grep -qw cgroup2 /proc/filesystems; then case "${rc_cgroup_mode:-unified}" in hybrid) printf "/sys/fs/cgroup/unified" ;; unified) printf "/sys/fs/cgroup" ;; esac fi return 0 } cgroup2_remove() { local cgroup_path rc_cgroup_path cgroup_path="$(cgroup2_find_path)" [ -z "${cgroup_path}" ] && return 0 rc_cgroup_path="${cgroup_path}/openrc.${RC_SVCNAME}" [ ! -d "${rc_cgroup_path}" ] || [ ! -e "${rc_cgroup_path}"/cgroup.events ] && return 0 grep -qx "$$" "${rc_cgroup_path}/cgroup.procs" && printf "%d" 0 > "${cgroup_path}/cgroup.procs" local key populated vvalue while read -r key value; do case "${key}" in populated) populated=${value} ;; *) ;; esac done < "${rc_cgroup_path}/cgroup.events" [ "${populated}" = 1 ] && return 0 rmdir "${rc_cgroup_path}" return 0 } cgroup2_set_limits() { local cgroup_path cgroup_path="$(cgroup2_find_path)" [ -z "${cgroup_path}" ] && return 0 mountinfo -q "${cgroup_path}"|| return 0 rc_cgroup_path="${cgroup_path}/openrc.${RC_SVCNAME}" [ ! -d "${rc_cgroup_path}" ] && mkdir "${rc_cgroup_path}" [ -f "${rc_cgroup_path}"/cgroup.procs ] && printf 0 > "${rc_cgroup_path}"/cgroup.procs [ -z "${rc_cgroup_settings}" ] && return 0 echo "${rc_cgroup_settings}" | while read -r key value; do [ -z "${key}" ] && continue [ -z "${value}" ] && continue [ ! -f "${rc_cgroup_path}/${key}" ] && continue veinfo "${RC_SVCNAME}: cgroups: setting ${key} to ${value}" printf "%s" "${value}" > "${rc_cgroup_path}/${key}" done return 0 } cgroup2_kill_cgroup() { local cgroup_path cgroup_path="$(cgroup2_find_path)" [ -z "${cgroup_path}" ] && return 1 rc_cgroup_path="${cgroup_path}/openrc.${RC_SVCNAME}" if [ -f "${rc_cgroup_path}"/cgroup.kill ]; then printf "%d" 1 > "${rc_cgroup_path}"/cgroup.kill fi return } cgroup_fallback_cleanup() { ebegin "Starting fallback cgroups cleanup" local loops=0 cgroup_get_pids if [ -n "${cgroup_pids}" ]; then kill -s CONT ${cgroup_pids} 2> /dev/null kill -s "${stopsig:-TERM}" ${cgroup_pids} 2> /dev/null yesno "${rc_send_sighup:-no}" && kill -s HUP ${cgroup_pids} 2> /dev/null kill -s "${stopsig:-TERM}" ${cgroup_pids} 2> /dev/null cgroup_get_pids while [ -n "${cgroup_pids}" ] && [ "${loops}" -lt "${rc_timeout_stopsec:-90}" ]; do loops=$((loops+1)) sleep 1 cgroup_get_pids done if [ -n "${cgroup_pids}" ] && yesno "${rc_send_sigkill:-yes}"; then kill -s KILL ${cgroup_pids} 2> /dev/null fi fi eend $? } cgroup_cleanup() { cgroup_running || return 0 ebegin "Starting cgroups cleanup" cgroup2_kill_cgroup || cgroup_fallback_cleanup cgroup2_remove cgroup_get_pids [ -z "${cgroup_pids}" ] eend $? "Unable to stop all processes" return 0 } # Copyright (c) 2007 Gentoo Foundation # Copyright (c) 2007-2009 Roy Marples # Released under the 2-clause BSD license. net_fs_list=" afs ceph cifs coda davfs fuse fuse.glusterfs fuse.sshfs gfs glusterfs lustre ncpfs nfs nfs4 ocfs2 shfs smbfs " is_net_fs() { [ -z "$1" ] && return 1 # Check OS specific flags to see if we're local or net mounted mountinfo --quiet --netdev "$1" && return 0 mountinfo --quiet --nonetdev "$1" && return 1 # Fall back on fs types local t=$(mountinfo --fstype "$1") for x in $net_fs_list $extra_net_fs_list; do [ "$x" = "$t" ] && return 0 done return 1 } is_union_fs() { [ ! -x /sbin/unionctl ] && return 1 unionctl "$1" --list >/dev/null 2>&1 } get_bootparam() { local match="$1" [ -z "$match" -o ! -r /proc/cmdline ] && return 1 set -- $(cat /proc/cmdline) while [ -n "$1" ]; do [ "$1" = "$match" ] && return 0 case "$1" in gentoo=*) local params="${1##*=}" local IFS=, x= for x in $params; do [ "$x" = "$match" ] && return 0 done ;; esac shift done return 1 } get_bootparam_value() { local match="$1" which_value="$2" sep="$3" result value if [ -n "$match" -a -r /proc/cmdline ]; then set -- $(cat /proc/cmdline) while [ -n "$1" ]; do case "$1" in $match=*) value="${1##*=}" case "$which_value" in all) [ -z "$sep" ] && sep=' ' if [ -z "$result" ]; then result="$value" else result="${result}${sep}${value}" fi ;; last) result="$value" ;; *) result="$value" break ;; esac ;; esac shift done fi echo $result } need_if_exists() { for x; do rc-service --exists "${x}" && need "${x}" done } # Called from openrc-run.sh or gendepends.sh _get_containers() { local c case "${RC_UNAME}" in FreeBSD) c="-jail" ;; Linux) c="-docker -podman -lxc -openvz -rkt -systemd-nspawn -uml -vserver" ;; esac echo $c } _get_containers_remove() { local c for x in $(_get_containers); do c="${c}!${x} " done echo $c } _depend() { depend local _rc_svcname=$(shell_var "$RC_SVCNAME") _deptype= _depends= # Add any user defined depends for _deptype in config:CONFIG need:NEED use:USE want:WANT \ after:AFTER before:BEFORE \ provide:PROVIDE keyword:KEYWORD; do IFS=: set -- $_deptype unset IFS eval _depends=\$rc_${_rc_svcname}_$1 [ -z "$_depends" ] && eval _depends=\$rc_$1 [ -z "$_depends" ] && eval _depends=\$RC_${_rc_svcname}_$2 [ -z "$_depends" ] && eval _depends=\$RC_$2 $1 $_depends done } # Add our sbin to $PATH case "$PATH" in "$RC_LIBEXECDIR"/sbin|"$RC_LIBEXECDIR"/sbin:*);; *) PATH="$RC_LIBEXECDIR/sbin:$PATH" ; export PATH ;; esac # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. # Declare this here so that no formatting doesn't affect the embedded newline __IFS=" " # Handy function to handle all our unmounting needs # mountinfo is a C program to actually find our mounts on our supported OS's # We rely on fuser being present, so if it's not then don't unmount anything. # This isn't a real issue for the BSD's, but it is for Linux. do_unmount() { local cmd="$1" retval=0 retry= pids=- local f_opts="-m -c" f_kill="-s " mnt= if [ "$RC_UNAME" = "Linux" ]; then f_opts="-m" f_kill="-" fi shift local IFS="$__IFS" set -- $(mountinfo "$@") unset IFS for mnt; do # Unmounting a shared mount can unmount other mounts, so # we need to check the mount is still valid mountinfo --quiet "$mnt" || continue # Ensure we interpret all characters properly. mnt=$(printf "$mnt") case "$cmd" in umount) ebegin "Unmounting $mnt" ;; *) ebegin "Remounting $mnt read only" ;; esac retry=4 # Effectively TERM, sleep 1, TERM, sleep 1, KILL, sleep 1 while ! LC_ALL=C $cmd "$mnt" 2>/dev/null; do if command -v fuser >/dev/null 2>&1; then pids="$(timeout -s KILL "${rc_fuser_timeout:-60}" \ fuser $f_opts "$mnt" 2>/dev/null)" fi case " $pids " in *" $$ "*) eend 1 "failed because we are using" \ "$mnt" retry=0;; " - ") eend 1 retry=0;; " ") eend 1 "in use but fuser finds nothing" retry=0;; *) if [ $retry -le 0 ]; then eend 1 else local sig="TERM" : $(( retry -= 1 )) [ $retry = 1 ] && sig="KILL" fuser $f_kill$sig -k $f_opts \ "$mnt" >/dev/null 2>&1 sleep 1 fi ;; esac [ $retry -le 0 ] && break done if [ $retry -le 0 ]; then retval=1 else eend 0 fi done return $retval } # Copyright (c) 2016 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. # Released under the 2-clause BSD license. runit_start() { local service_path service_link service_path="${runit_service:-/etc/sv/${RC_SVCNAME}}" if [ ! -d "${service_path}" ]; then eerror "Runit service ${service_path} not found" return 1 fi service_link="${RC_SVCDIR}/sv/${service_path##*/}" ebegin "Starting ${name:-$RC_SVCNAME}" ln -snf "${service_path}" "${service_link}" local i=0 retval=1 # it can take upto 5 seconds for runsv to start while [ $i -lt 6 ] ; do if ${RC_VRF_EXEC} sv start "${service_link}" > /dev/null 2>&1; then retval=0 break fi sleep 1 && i=$(expr $i + 1) done if [ $retval -eq 1 ]; then # clean up the link else sv will keep on trying rm "${service_link}" fi eend $retval "Failed to start ${name:-$RC_SVCNAME}" } runit_stop() { local service_path service_link service_path="${runit_service:-/etc/sv/${RC_SVCNAME}}" if [ ! -d "${service_path}" ]; then eerror "Runit service ${service_path} not found" return 1 fi service_link="${RC_SVCDIR}/sv/${service_path##*/}" ebegin "Stopping ${name:-$RC_SVCNAME}" sv stop "${service_link}" > /dev/null 2>&1 && rm "${service_link}" eend $? "Failed to stop ${name:-$RC_SVCNAME}" } runit_status() { local service_path service_link service_path="${runit_service:-/etc/sv/${RC_SVCNAME}}" if [ ! -d "${service_path}" ]; then eerror "Runit service ${service_path} not found" return 1 fi service_link="${RC_SVCDIR}/sv/${service_path##*/}" sv status "${service_link}" } # Start / stop / status functions for s6 support # Copyright (c) 2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. [ -z "${s6_service_path}" ] && s6_service_path="/var/svc.d/${RC_SVCNAME}" _s6_force_kill() { local pid s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" pid="${3%)}" [ -z "${pid}" ] && return 0 if kill -0 "${pid}" 2> /dev/null; then ewarn "Sending DOWN & KILL for ${RC_SVCNAME}" s6-svc -dk "${s6_service_link}" sleep 1 kill -0 "${pid}" 2>/dev/null && return 1 fi return 0 } s6_start() { if [ ! -d "${s6_service_path}" ]; then eerror "${s6_service_path} does not exist." return 1 fi s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" ebegin "Starting ${name:-$RC_SVCNAME}" ln -sf "${s6_service_path}" "${s6_service_link}" s6-svscanctl -na "${RC_SVCDIR}"/s6-scan sleep 1.5 ${RC_VRF_EXEC} s6-svc -u "${s6_service_link}" if [ -n "$s6_svwait_options_start" ]; then s6-svwait ${s6_svwait_options_start} "${s6_service_link}" fi sleep 1.5 set -- $(s6-svstat "${s6_service_link}") [ "$1" = "up" ] eend $? "Failed to start ${name:-$RC_SVCNAME}" } s6_stop() { if [ ! -d "${s6_service_path}" ]; then eerror "${s6_service_path} does not exist." return 1 fi s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" ebegin "Stopping ${name:-$RC_SVCNAME}" s6-svc -d -wD -T ${s6_service_timeout_stop:-60000} "${s6_service_link}" set -- $(s6-svstat "${s6_service_link}") [ "$1" = "up" ] && yesno "${s6_force_kill:-yes}" && _s6_force_kill "$@" set -- $(s6-svstat "${s6_service_link}") [ "$1" = "down" ] eend $? "Failed to stop ${name:-$RC_SVCNAME}" } s6_status() { s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}" if [ -L "${s6_service_link}" ]; then s6-svstat "${s6_service_link}" else _status fi } 0.55.1 #!/bin/sh # MDEV=dvb0.demux1 -> ADAPTER=dvb0 -> N=0 ADAPTER=${MDEV%.*} N=${ADAPTER#dvb} # MDEV=dvb0.demux1 -> DEVB_DEV=demux1 DVB_DEV=${MDEV#*.} case "$ACTION" in add|"") mkdir -p dvb/adapter${N} mv ${MDEV} dvb/adapter${N}/${DVB_DEV} ;; remove) rm -f dvb/adapter${N}/${DVB_DEV} rmdir dvb/adapter${N} 2>/dev/null rmdir dvb/ 2>/dev/null esac #!/bin/sh symlink_action() { case "$ACTION" in add) ln -sf "$1" "$2";; remove) rm -f "$2";; esac } clock_name=$(cat ${SYSFS:-/sys}/class/ptp/$MDEV/clock_name 2>/dev/null | sed -e 's/ /_/g') case "$clock_name" in KVM_virtual_PTP) symlink_action $MDEV ptp_kvm ;; ptp_vmw) symlink_action $MDEV ptp_vmw ;; hyperv) symlink_action $MDEV ptp_hyperv ;; esac # start / stop / status functions for start-stop-daemon # Copyright (c) 2007-2015 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. ssd_start() { if [ -z "$command" ]; then ewarn "The command variable is undefined." ewarn "There is nothing for ${name:-$RC_SVCNAME} to start." ewarn "If this is what you intend, please write a start function." ewarn "This will become a failure in a future release." return 0 fi local _background= ebegin "Starting ${name:-$RC_SVCNAME}" if yesno "${command_background}"; then if [ -z "${pidfile}" ]; then eend 1 "command_background option used but no pidfile specified" return 1 fi if [ -n "${command_args_background}" ]; then eend 1 "command_background used with command_args_background" return 1 fi _background="--background --make-pidfile" fi if yesno "$start_inactive"; then local _inactive=false service_inactive && _inactive=true mark_service_inactive fi #the eval call is necessary for cases like: # command_args="this \"is a\" test" # to work properly. eval ${RC_VRF_EXEC} start-stop-daemon --start \ --exec $command \ ${chroot:+--chroot} $chroot \ ${directory:+--chdir} $directory \ ${output_log+--stdout} $output_log \ ${error_log+--stderr} $error_log \ ${output_logger:+--stdout-logger \"$output_logger\"} \ ${error_logger:+--stderr-logger \"$error_logger\"} \ ${capabilities+--capabilities} "$capabilities" \ ${secbits:+--secbits} "$secbits" \ ${no_new_privs:+--no-new-privs} \ ${procname:+--name} $procname \ ${pidfile:+--pidfile} $pidfile \ ${command_user+--user} $command_user \ ${umask+--umask} $umask \ $_background $start_stop_daemon_args \ -- $command_args $command_args_background if eend $? "Failed to start ${name:-$RC_SVCNAME}"; then service_set_value "command" "${command}" [ -n "${chroot}" ] && service_set_value "chroot" "${chroot}" [ -n "${pidfile}" ] && service_set_value "pidfile" "${pidfile}" [ -n "${procname}" ] && service_set_value "procname" "${procname}" return 0 fi if yesno "$start_inactive"; then if ! $_inactive; then mark_service_stopped fi fi return 1 } ssd_stop() { local _progress= local startcommand="$(service_get_value "command")" local startchroot="$(service_get_value "chroot")" local startpidfile="$(service_get_value "pidfile")" local startprocname="$(service_get_value "procname")" command="${startcommand:-$command}" chroot="${startchroot:-$chroot}" pidfile="${startpidfile:-$pidfile}" procname="${startprocname:-$procname}" [ -n "$command" -o -n "$procname" -o -n "$pidfile" ] || return 0 yesno "${command_progress}" && _progress=--progress ebegin "Stopping ${name:-$RC_SVCNAME}" start-stop-daemon --stop \ ${retry:+--retry} $retry \ ${command:+--exec} $command \ ${procname:+--name} $procname \ ${pidfile:+--pidfile} $chroot$pidfile \ ${stopsig:+--signal} $stopsig \ ${_progress} eend $? "Failed to stop ${name:-$RC_SVCNAME}" } ssd_status() { _status } # start / stop / status functions for supervise-daemon # Copyright (c) 2016 The OpenRC Authors. # See the Authors file at the top-level directory of this distribution and # https://github.com/OpenRC/openrc/blob/HEAD/AUTHORS # # This file is part of OpenRC. It is subject to the license terms in # the LICENSE file found in the top-level directory of this # distribution and at https://github.com/OpenRC/openrc/blob/HEAD/LICENSE # This file may not be copied, modified, propagated, or distributed # except according to the terms contained in the LICENSE file. extra_commands="healthcheck unhealthy ${extra_commands}" supervise_start() { if [ -z "$command" ]; then ewarn "The command variable is undefined." ewarn "There is nothing for ${name:-$RC_SVCNAME} to start." return 1 fi ebegin "Starting ${name:-$RC_SVCNAME}" # The eval call is necessary for cases like: # command_args="this \"is a\" test" # to work properly. eval ${RC_VRF_EXEC} supervise-daemon "${RC_SVCNAME}" --start \ ${retry:+--retry} $retry \ ${directory:+--chdir} $directory \ ${chroot:+--chroot} $chroot \ ${output_log+--stdout} ${output_log} \ ${error_log+--stderr} $error_log \ ${output_logger:+--stdout-logger \"$output_logger\"} \ ${error_logger:+--stderr-logger \"$error_logger\"} \ ${pidfile:+--pidfile} $pidfile \ ${respawn_delay:+--respawn-delay} $respawn_delay \ ${respawn_max:+--respawn-max} $respawn_max \ ${respawn_period:+--respawn-period} $respawn_period \ ${healthcheck_delay:+--healthcheck-delay} $healthcheck_delay \ ${healthcheck_timer:+--healthcheck-timer} $healthcheck_timer \ ${capabilities+--capabilities} "$capabilities" \ ${secbits:+--secbits} "$secbits" \ ${no_new_privs:+--no-new-privs} \ ${command_user+--user} $command_user \ ${umask+--umask} $umask \ ${supervise_daemon_args-${start_stop_daemon_args}} \ $command \ -- $command_args $command_args_foreground rc=$? if [ $rc = 0 ]; then [ -n "${chroot}" ] && service_set_value "chroot" "${chroot}" [ -n "${pidfile}" ] && service_set_value "pidfile" "${pidfile}" fi eend $rc "failed to start ${name:-$RC_SVCNAME}" } supervise_stop() { local startchroot="$(service_get_value "chroot")" local startpidfile="$(service_get_value "pidfile")" chroot="${startchroot:-$chroot}" pidfile="${startpidfile:-$pidfile}" ebegin "Stopping ${name:-$RC_SVCNAME}" supervise-daemon "${RC_SVCNAME}" --stop \ ${pidfile:+--pidfile} $chroot$pidfile eend $? "Failed to stop ${name:-$RC_SVCNAME}" } _check_supervised() { local child_pid start_time child_pid="$(service_get_value "child_pid")" start_time="$(service_get_value "start_time")" if [ -n "${child_pid}" ] && [ -n "${start_time}" ]; then return 1 fi return 0 } supervise_status() { if service_stopping; then ewarn "status: stopping" return 4 elif service_starting; then ewarn "status: starting" return 8 elif service_inactive; then ewarn "status: inactive" return 16 elif service_started; then if service_crashed; then if ! _check_supervised; then eerror "status: unsupervised" return 64 fi eerror "status: crashed" return 32 fi einfo "status: started" return 0 else einfo "status: stopped" return 3 fi } healthcheck() { return 0 } unhealthy() { return 0 } # # This is a sample mdev.conf. # # Devices: # Syntax: %s %d:%d %s # devices user:group mode $MODALIAS=.* root:root 0660 @modprobe -q -b "$MODALIAS" # null does already exist; therefore ownership has to be changed with command null root:root 0666 @chmod 666 $MDEV zero root:root 0666 full root:root 0666 random root:root 0666 urandom root:root 0444 hwrandom root:root 0660 console root:tty 0600 # load frambuffer console when first frambuffer is found fb0 root:video 0660 @modprobe -q -b fbcon fd0 root:floppy 0660 kmem root:kmem 0640 mem root:kmem 0640 port root:kmem 0640 ptmx root:tty 0666 # Kernel-based Virtual Machine. kvm root:kvm 660 # ram.* ram([0-9]*) root:disk 0660 >rd/%1 loop([0-9]+) root:disk 0660 >loop/%1 # persistent storage dasd.* root:disk 0660 */lib/mdev/persistent-storage mmcblk.* root:disk 0660 */lib/mdev/persistent-storage nbd.* root:disk 0660 */lib/mdev/persistent-storage nvme.* root:disk 0660 */lib/mdev/persistent-storage sd[a-z].* root:disk 0660 */lib/mdev/persistent-storage sr[0-9]+ root:cdrom 0660 */lib/mdev/persistent-storage vd[a-z].* root:disk 0660 */lib/mdev/persistent-storage xvd[a-z].* root:disk 0660 */lib/mdev/persistent-storage md[0-9] root:disk 0660 tty root:tty 0666 tty[0-9] root:root 0600 tty[0-9][0-9] root:tty 0660 ttyS[0-9]* root:dialout 0660 ttyGS[0-9] root:root 0660 pty.* root:tty 0660 vcs[0-9]* root:tty 0660 vcsa[0-9]* root:tty 0660 # rpi bluetooth #ttyAMA0 root:tty 660 @btattach -B /dev/$MDEV -P bcm -S 115200 -N & ttyACM[0-9] root:dialout 0660 @ln -sf $MDEV modem ttyUSB[0-9] root:dialout 0660 @ln -sf $MDEV modem ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem slamr root:dialout 0660 @ln -sf $MDEV slamr0 slusb root:dialout 0660 @ln -sf $MDEV slusb0 fuse root:root 0666 # mobile broadband modems cdc-wdm[0-9]+ root:dialout 0660 # dri device dri/.* root:video 0660 card[0-9] root:video 0660 =dri/ # alsa sound devices and audio stuff pcm.* root:audio 0660 =snd/ control.* root:audio 0660 =snd/ midi.* root:audio 0660 =snd/ seq root:audio 0660 =snd/ timer root:audio 0660 =snd/ adsp root:audio 0660 >sound/ audio root:audio 0660 >sound/ dsp root:audio 0660 >sound/ mixer root:audio 0660 >sound/ sequencer.* root:audio 0660 >sound/ SUBSYSTEM=sound;.* root:audio 0660 # PTP devices ptp[0-9] root:root 0660 */lib/mdev/ptpdev # virtio-ports SUBSYSTEM=virtio-ports;vport.* root:root 0600 @mkdir -p virtio-ports; ln -sf ../$MDEV virtio-ports/$(cat /sys/class/virtio-ports/$MDEV/name) # misc stuff agpgart root:root 0660 >misc/ psaux root:root 0660 >misc/ rtc root:root 0664 >misc/ # input stuff SUBSYSTEM=input;.* root:input 0660 # v4l stuff vbi[0-9] root:video 0660 >v4l/ video[0-9]+ root:video 0660 >v4l/ # dvb stuff dvb.* root:video 0660 */lib/mdev/dvbdev # VideoCore VC4 BCM GPU specific (as in Pi devices) vchiq root:video 0660 vcio root:video 0660 vcsm-cma root:video 0660 vc-mem root:video 0660 # load drivers for usb devices usb[0-9]+ root:root 0660 */lib/mdev/usbdev # net devices # 666 is fine: https://www.kernel.org/doc/Documentation/networking/tuntap.txt net/tun[0-9]* root:netdev 0666 net/tap[0-9]* root:netdev 0666 # zaptel devices zap(.*) root:dialout 0660 =zap/%1 dahdi!(.*) root:dialout 0660 =dahdi/%1 dahdi/(.*) root:dialout 0660 =dahdi/%1 # raid controllers cciss!(.*) root:disk 0660 =cciss/%1 cciss/(.*) root:disk 0660 =cciss/%1 ida!(.*) root:disk 0660 =ida/%1 ida/(.*) root:disk 0660 =ida/%1 rd!(.*) root:disk 0660 =rd/%1 rd/(.*) root:disk 0660 =rd/%1 # tape devices nst[0-9]+.* root:tape 0660 st[0-9]+.* root:tape 0660 # VirtualBox devices vboxguest root:root 0600 vboxuser root:root 0666 vboxdrv root:root 0600 vboxdrvu root:root 0666 vboxnetctl root:root 0600 # fallback for any!device -> any/device (.*)!(.*) root:root 0660 =%1/%2 #!/bin/sh symlink_action() { case "$ACTION" in add) ln -sf "$1" "$2";; remove) rm -f "$2";; esac } sanitise_file() { sed -E -e 's/^\s+//' -e 's/\s+$//' -e 's/ /_/g' "$@" 2>/dev/null } sanitise_string() { echo "$@" | sanitise_file } blkid_encode_string() { # Rewrites string similar to libblk's blkid_encode_string # function which is used by udev/eudev. echo "$@" | sed -e 's| |\\x20|g' } : ${SYSFS:=/sys} # cdrom symlink case "$MDEV" in sr*|xvd*) caps="$(cat $SYSFS/block/$MDEV/capability 2>/dev/null)" if [ $(( 0x${caps:-0} & 8 )) -gt 0 ] || [ "$(cat $SYSFS/block/$MDEV/removable 2>/dev/null)" = "1" ]; then symlink_action $MDEV cdrom fi esac # /dev/block symlinks mkdir -p block if [ -f "$SYSFS/class/block/$MDEV/dev" ]; then maj_min=$(sanitise_file "$SYSFS/class/block/$MDEV/dev") symlink_action ../$MDEV block/${maj_min} fi # by-id symlinks mkdir -p disk/by-id if [ -f "$SYSFS/class/block/$MDEV/partition" ]; then # This is a partition of a device, find out its parent device _parent_dev="$(basename $(${SBINDIR:-/usr/bin}/readlink -f "$SYSFS/class/block/$MDEV/.."))" partition=$(cat $SYSFS/class/block/$MDEV/partition 2>/dev/null) case "$partition" in [0-9]*) partsuffix="-part$partition";; esac # Get name, model, serial, wwid from parent device of the partition _check_dev="$_parent_dev" else _check_dev="$MDEV" fi model=$(sanitise_file "$SYSFS/class/block/$_check_dev/device/model") name=$(sanitise_file "$SYSFS/class/block/$_check_dev/device/name") serial=$(sanitise_file "$SYSFS/class/block/$_check_dev/device/serial") # Special case where block devices have serials attached to the block itself, like virtio-blk : ${serial:=$(sanitise_file "$SYSFS/class/block/$_check_dev/serial")} wwid=$(sanitise_file "$SYSFS/class/block/$_check_dev/wwid") : ${wwid:=$(sanitise_file "$SYSFS/class/block/$_check_dev/device/wwid")} # Sets variables LABEL, PARTLABEL, PARTUUID, TYPE, UUID depending on # blkid output (busybox blkid will not provide PARTLABEL or PARTUUID) eval $(blkid /dev/$MDEV | cut -d: -f2-) if [ -n "$wwid" ]; then case "$MDEV" in nvme*) symlink_action ../../$MDEV disk/by-id/nvme-${wwid}${partsuffix};; esac case "$wwid" in naa.*) symlink_action ../../$MDEV disk/by-id/wwn-0x${wwid#naa.}${partsuffix};; esac fi if [ -n "$serial" ]; then if [ -n "$model" ]; then case "$MDEV" in nvme*) symlink_action ../../$MDEV disk/by-id/nvme-${model}_${serial}${partsuffix};; sd*) symlink_action ../../$MDEV disk/by-id/ata-${model}_${serial}${partsuffix};; esac fi if [ -n "$name" ]; then case "$MDEV" in mmcblk*) symlink_action ../../$MDEV disk/by-id/mmc-${name}_${serial}${partsuffix};; esac fi # virtio-blk case "$MDEV" in vd*) symlink_action ../../$MDEV disk/by-id/virtio-${serial}${partsuffix};; esac fi # by-label, by-partlabel, by-partuuid, by-uuid symlinks if [ -n "$LABEL" ]; then mkdir -p disk/by-label symlink_action ../../$MDEV disk/by-label/"$(blkid_encode_string "$LABEL")" fi if [ -n "$PARTLABEL" ]; then mkdir -p disk/by-partlabel symlink_action ../../$MDEV disk/by-partlabel/"$(blkid_encode_string "$PARTLABEL")" fi if [ -n "$PARTUUID" ]; then mkdir -p disk/by-partuuid symlink_action ../../$MDEV disk/by-partuuid/"$PARTUUID" fi if [ -n "$UUID" ]; then mkdir -p disk/by-uuid symlink_action ../../$MDEV disk/by-uuid/"$UUID" fi # nvme EBS storage symlinks if [ "${MDEV#nvme}" != "$MDEV" ] && [ "$model" = "Amazon_Elastic_Block_Store" ] && command -v nvme >/dev/null; then n=30 while [ $n -gt 0 ]; do ebs_alias=$(nvme id-ctrl -b /dev/$_check_dev \ | dd bs=32 skip=96 count=1 2>/dev/null \ | sed -nre '/^(\/dev\/)?(s|xv)d[a-z]{1,2} /p' \ | tr -d ' ') if [ -n "$ebs_alias" ]; then symlink_action "$MDEV" ${ebs_alias#/dev/}$partition break fi n=$((n - 1)) sleep 0.1 done fi # backwards compatibility with /dev/usbdisk for /dev/sd* if [ "${MDEV#sd}" != "$MDEV" ]; then sysdev=$(readlink $SYSFS/class/block/$MDEV) case "$sysdev" in *usb[0-9]*) # require vfat for devices without partition if ! [ -e $SYSFS/block/$MDEV ] || [ TYPE="vfat" ]; then symlink_action $MDEV usbdisk fi ;; esac fi #!/bin/sh # mdev -s will not set SUBSYSTEM or DEVNAME so we trigger a hotplug event if [ "$SUBSYSTEM" != "usb" ] || [ "$DEVTYPE" != "usb_device" ]; then uev=/sys/bus/usb/devices/$MDEV/uevent [ -e "$uev" ] && echo "add" > "$uev" exit fi [ -n "$DEVNAME" ] || exit case "$ACTION" in add) mkdir -p "${DEVNAME%/*}" mv $MDEV $DEVNAME # autoload driver for i in /sys/$DEVPATH/*/modalias; do [ -e "$i" ] && echo $i done | xargs sort -u | xargs modprobe -a 2>/dev/null ;; remove) rm $DEVNAME ;; esac #!/sbin/openrc-run description="the mdev device manager" depend() { provide dev need sysfs dev-mount before checkfs fsck keyword -containers -vserver -lxc } _start_service () { ebegin "Starting busybox mdev" mkdir -p /dev echo "/sbin/mdev" > /proc/sys/kernel/hotplug eend $? } _start_coldplug () { ebegin "Scanning hardware for mdev" # mdev -s will not create /dev/usb[1-9] devices with recent kernels # so we manually trigger events for usb for i in $(find /sys/devices -name 'usb[0-9]*'); do [ -e $i/uevent ] && echo add > $i/uevent done # trigger the rest of the coldplug mdev -s eend $? } start() { _start_service _start_coldplug } stop() { ebegin "Stopping busybox mdev" echo > /proc/sys/kernel/hotplug eend } # what cipher to use with -e option DEFAULT_CIPHER=aes-256-cbc # Uncomment the row below to encrypt config by default # ENCRYPTION=$DEFAULT_CIPHER # Uncomment below to avoid option to 'lbu commit' # Can also be set to 'floppy' # LBU_MEDIA=usb # Set the LBU_BACKUPDIR variable in case you prefer to save the apkovls # in a normal directory instead of mounting an external media. # LBU_BACKUPDIR=/root/config-backups # Uncomment below to let lbu make up to 3 backups # BACKUP_LIMIT=3 ELF>@1@8 @@@@H H   ,<<8,<<88800hhh$$Std88800Ptd!!!ddQtdRtd,<<00/lib/ld-musl-x86_64.so.1 GNUGNUBi$~S>Ti52O"P"#$%9) "|=3" : \aT hKDv-p  <o< strcpyexitperrorstrncpy__stack_chk_failmkdirfdatasynccallocstrlen__errno_locationreadmemcmpgetoptstdoutfputslseekmallocstrcatstderr_initsplicestatfscloseopenfprintf_fini__cxa_finalizelink__libc_start_mainwriteposix_fallocatewctombfreelibc.musl-x86_64.so.1__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info???? ?(?0?8?@? H? P? X? `? h?p?x???????????????? ?!<$<#><PX5.%.@%.hHQj/x5hH=uH5,}/1H5,l/I/1 1ZH1HH5a,H7HWL! E1H QH=zeDH=A/H:/H9tH.Ht H=/H5 /H)HH?HHHtH].HtfD=.uGUH=-Ht H=.-gH=.t H=..]ff.@H=P.t&UH5.H=H6.]8+HG(H9W ~H5*QHH=+1w-^H9HNHO@HVH6Hv~HG@Ht H9tHGHHGHHW(HwHHH9P| H@H9uHHrHHFH01AUIATIUHHSAQ`-Hp1,HtiHAD$ LH{,HC AD$C(b,H AD$uHcMHC 1HDHH HE8AT$HAXH[] A\A]Z[]A\A]AVIAUIATIUSӅtDA<$HcLe,yH= +~,uD))HID$ I븉[]A\A]A^AWAVAUATUSH8dL<%(L$(IH$Lt$(H\$L9AH9A!H$H9AH9A!źLL)H|$)H5i +D$(<t<tTAuEt1 f$%/u$1up?'HtHk VCsHHRy?CAEt.AHspHE9ENIc-xuD)E)͉Z[]A\A]AWAVAUATUHSHHHO0HtWHw8H9}N~=LcGIHHHHHH5_IHHH=$H1'AHCH9E H;*Lk,L%(L=)LL*'L11-'Aąx~AL1'AƅyID!'WAH5'DM9MFL&x3LH5'DH&xM)MuD&D& }~H=#HS,H5y1&E1Lk,H= 'H!)L&HC LAH(1@&D$y&Ab}~!HK DC(L1H=$#H5;%HS HuE Ls tHtJE1|$1%…tAt$LHADžE EEHupHA9ANHcAąADžumAeHupAHt$|$Ic$Ht$y"H=g$ %AAE9tHcHA)uE~ E)dEIcH;C u |$n$|$$ExIcH;S BAHD[]A\A]A^A_ATUSHdH%(H$1HT$ Ld$Ht$H׾H=Ld$HLd$P^$D$ #H$H=HD$xHHD$v#uH$HtD$ H$HD$8Hl$Ht$XH xHH\$HL9tNHtIHCHHsH+t$(HBHᆳHH-52HCH~ HxnHHSt_|$tA1۾HHH~ HH=t|$~H=p HH51"H|$xc#|$ Q#1H$dH+%(t"H[]A\PXERROR: non-linear reads are not supported (asked %zx, we are at %zx) readCD001INFO: Microsoft Joliet Level %d .%s : DIR, flags 0x%08x /ERROR: Disk needed %zd MiB (free %zd MiB) WARNING: Not extracting '%s' as it's sharing file-extents with another file %s : %zd bytes, flags 0x%08x write/dev/nullSkipped %zd bytes at the end husage: uniso [-h] Unpack ISO9660 File System from STDIN. options: -h Show this help ;d `B H81TnzRx $ FJ w?;*3$"DeRVH\BED G(B0r (D AEBE A(F ABB8.hBEE D(C0M(A BBBHZiBBB B(A0A8GM8A0A(B BBBH0w%BFB E(A0A8G8C0A(B BBB8|PaBEE D(C0F(A BBB4uBBA D(D0(A ABBH=BBB B(A0D8GP8D0A(B BBB0<BHA G AABpRHI0   <<o`  > 0 o$0 #%<&@GCC: (Alpine 14.2.0) 14.2.0.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment 880&hh$9o<C K``S0]B  g0 0 qb w00 }2 !!d""<,<,<,<,>. @0 @0p 00$0eckd_dasd= fba_dasd= _dasdfmt() { local block="$(ls "${ROOT}sys/bus/ccw/devices/$1/block" 2>/dev/null)" local dev="${ROOT}dev/$block" if ! [ -b "$dev" ]; then echo "$dev ($1) is not a block device" >&2 else if ask_yesno "WARNING: Erase ECKD DASD $1? (y/n)" "n"; then dasdfmt -b 4096 -d cdl -yp "$dev" fi fi } eckdselect_help() { cat <<-__EOF__ Enter each available DASD's address (e.g. 0.0.02d0) to format that DASD. Enter multiple addresses separated by a space to format multiple DASDs. Enter 'all' to format all available DASDs. WARNING: Data will be lost after formatted! Enter 'done' or 'none' to finish formatting. Enter 'abort' to quit the installer. __EOF__ } show_dasd_info() { local busid= vendor= block= devtype= cutype= for busid in $@; do vendor=$(cat "${ROOT}sys/bus/ccw/devices/$busid/vendor" 2>/dev/null) devtype=$(cat "${ROOT}/sys/bus/ccw/devices/$busid/devtype" 2>/dev/null) cutype=$(cat "${ROOT}/sys/bus/ccw/devices/$busid/cutype" 2>/dev/null) block="$(ls "${ROOT}/sys/bus/ccw/devices/$busid/block" 2>/dev/null)" echo " $busid ($devtype $cutype $vendor)" done } ask_eckd(){ local prompt="$1" local help_func="$2" shift 2 local default_dasd="all" apk add --quiet s390-tools resp= while ! all_in_list "$resp" $@ "$default_dasd" "abort" "done" "none"; do echo "Available ECKD DASD(s) are:" show_dasd_info "$@" ask "$prompt" "$default_dasd" case "$resp" in 'abort') exit 0;; 'done'|'none') return 0;; '?') $help_func;; 'all') for busid in $@; do _dasdfmt $busid; done;; *) for busid in $resp; do _dasdfmt $busid; done;; esac done } check_dasd() { eckd_dasd= fba_dasd= local dasd="$(get_bootopt dasd)" for _dasd in $( echo $dasd | tr ',' ' '); do [ -e "${ROOT}/sys/bus/ccw/drivers/dasd-eckd/$_dasd" ] && eckd_dasd="$eckd_dasd $_dasd" [ -e "${ROOT}/sys/bus/ccw/drivers/dasd-fba/$_dasd" ] && fba_dasd="$fba_dasd $_dasd" done if [ -n "$eckd_dasd" ]; then ask_eckd \ "Which ECKD DASD(s) would you like to be formatted using dasdfmt? (enter '?' for help)" \ eckdselect_help "$eckd_dasd" fi } is_dasd() { local disk="${1#*\/dev\/}" dasd_type="$2" for _dasd in $(eval "echo \$${dasd_type}_dasd"); do [ -e "${ROOT}sys/bus/ccw/drivers/dasd-$dasd_type/$_dasd/block/$disk" ] && return 0 done return 1 } setup_zipl() { local mnt="$1" root="$2" modules="$3" kernel_opts="$4" local parameters="root=$root modules=$modules $kernel_opts" local dasd="$(echo $eckd_dasd $fba_dasd | tr ' ' ',')" local s390x_net="$(get_bootopt s390x_net)" [ -n "$dasd" ] && parameters="$parameters dasd=$dasd" [ -n "$s390x_net" ] && parameters="$parameters s390x_net=$s390x_net" cat > "$mnt"/etc/zipl.conf <<- EOF [defaultboot] defaultauto prompt=1 timeout=5 default=linux target=/boot [linux] image=/boot/vmlinuz-$KERNEL_FLAVOR ramdisk=/boot/initramfs-$KERNEL_FLAVOR parameters="$parameters" EOF } setup_partitions_eckd() { local blocks_per_track=12 tracks_per_cylinder=15 boot_track= swap_track= local diskdev="$1" boot_size="$2" swap_size="$3" sys_type="$4" boot_track=$(($boot_size * 1024 / 4 / blocks_per_track)) [ "$swap_size" != 0 ] && swap_track=$(($swap_size * 1024 / 4 / blocks_per_track + boot_track + 1)) local conf="$(mktemp)" if [ -n "$swap_track" ]; then cat > "$conf" <<- EOF [first,$boot_track,native] [$((boot_track + 1)),$swap_track,swap] [$((swap_track + 1)),last,$sys_type] EOF else cat > "$conf" <<- EOF [first,$boot_track,native] [$((boot_track + 1)),last,$sys_type] EOF fi fdasd -s -c "$conf" $diskdev rm $conf } PREFIX=/usr PROGRAM=$(basename $0) : ${ROOT:=/} [ "${ROOT}" = "${ROOT%/}" ] && ROOT="${ROOT}/" [ "${ROOT}" = "${ROOT#/}" ] && ROOT="${PWD}/${ROOT}" # echo if in verbose mode vecho() { if [ -n "$VERBOSE" ]; then echo "$@" fi } # echo unless quiet mode qecho() { if [ -z "$QUIET" ]; then echo "$@" fi } # echo to stderr eecho() { echo "$@" >&2 } # echo to stderr and exit with error die() { eecho "$@" exit 1 } init_tmpdir() { local omask="$(umask)" local __tmpd="/tmp/$PROGRAM-${$}-$(date +%s)-$RANDOM" umask 077 || die "umask" mkdir -p "$__tmpd" || exit 1 trap "rc=\$?; rm -fr \"$__tmpd\"; exit \$rc" 0 umask $omask eval "$1=\"$__tmpd\"" } default_read() { local n read n [ -z "$n" ] && n="$2" eval "$1=\"$n\"" } cfg_add() { $MOCK lbu_add "$@" } # return true if given value is Y, y, Yes, yes YES etc yesno() { case $1 in [Yy]|[Yy][Ee][Ss]) return 0;; esac return 1 } # Detect if we are running Xen is_xen() { test -d /proc/xen } # Detect if we are running Xen Dom0 is_xen_dom0() { is_xen && \ grep -q "control_d" /proc/xen/capabilities 2>/dev/null } # list of all network interfaces, sorted by ifindex sorted_ifaces() { for i in "$ROOT"/sys/class/net/*; do local iface="${i##*/}" if [ -e "$i"/ifindex ]; then printf "%s\t%s\n" "$(cat $i/ifindex)" "$iface" fi done | sort -n | awk '{print $2}' } # list of available network interfaces that aren't part of any bridge or bond available_ifaces() { local iflist= ifpath= iface= if ! [ -d "$ROOT"/sys/class/net ]; then ip link | awk -F: '$1 ~ /^[0-9]+$/ {printf "%s",$2}' return fi for iface in $(sorted_ifaces); do # skip interfaces that are part of a bond or bridge ifpath="$ROOT/sys/class/net/$iface" if [ -d "$ifpath"/master/bonding ] || [ -d "$ifpath"/brport ] || [ "$iface" = "lo" ]; then continue fi iflist="${iflist}${iflist:+ }$iface" done echo $iflist } # from OpenBSD installer # Ask for a password, saving the input in $resp. # Display $1 as the prompt. # *Don't* allow the '!' options that ask does. # *Don't* echo input. # *Don't* interpret "\" as escape character. askpass() { printf %s "$1 " set -o noglob $MOCK stty -echo read -r resp $MOCK stty echo set +o noglob echo } # Ask for a password twice, saving the input in $_password askpassword() { local _oifs="$IFS" IFS= while :; do askpass "Password for $1 account? (will not echo)" _password=$resp askpass "Password for $1 account? (again)" # N.B.: Need quotes around $resp and $_password to preserve leading # or trailing spaces. [ "$resp" = "$_password" ] && break echo "Passwords do not match, try again." done IFS=$_oifs } # test the first argument against the remaining ones, return success on a match isin() { local _a="$1" _b shift for _b; do [ "$_a" = "$_b" ] && return 0 done return 1 } # remove all occurrences of first argument from list formed by # the remaining arguments rmel() { local _a="$1" _b shift for _b; do [ "$_a" != "$_b" ] && printf %s "$_b " done } # Issue a read into the global variable $resp. _ask() { local _redo=0 read resp case "$resp" in !) echo "Type 'exit' to return to setup." sh _redo=1 ;; !*) eval "${resp#?}" _redo=1 ;; esac return $_redo } # Ask for user input. # # $1 = the question to ask the user # $2 = the default answer # # Save the user input (or the default) in $resp. # # Allow the user to escape to shells ('!') or execute commands # ('!foo') before entering the input. ask() { local _question="$1" _default="$2" while :; do printf %s "$_question " [ -z "$_default" ] || printf "[%s] " "$_default" _ask && : ${resp:=$_default} && break done } # Ask for user input until a non-empty reply is entered. # # $1 = the question to ask the user # $2 = the default answer # # Save the user input (or the default) in $resp. ask_until() { resp= while [ -z "$resp" ] ; do ask "$1" "$2" done } # Ask for user for y/n until y, yes, n or no is responded # # $1 = the question to ask the user # $2 = the default answer # # Returns true/sucess if y/yes was responded. false othewise ask_yesno() { while true; do ask "$1" "$2" case "$resp" in y|yes|n|no) break;; esac done yesno "$resp" } # Ask for the user to select one value from a list, or 'done'. # # $1 = name of the list items (disk, cd, etc.) # $2 = question to ask # $3 = list of valid choices # $4 = default choice, if it is not specified use the first item in $3 # # N.B.! $3 and $4 will be "expanded" using eval, so be sure to escape them # if they contain spooky stuff # # At exit $resp holds selected item, or 'done' ask_which() { local _name="$1" _query="$2" _list="$3" _def="$4" _dynlist _dyndef while :; do # Put both lines in ask prompt, rather than use a # separate 'echo' to ensure the entire question is # re-ask'ed after a '!' or '!foo' shell escape. eval "_dynlist=\"$_list\"" eval "_dyndef=\"$_def\"" # Clean away whitespace and determine the default set -o noglob set -- $_dyndef; _dyndef="$1" set -- $_dynlist; _dynlist="$*" set +o noglob [ $# -lt 1 ] && resp=done && return : ${_dyndef:=$1} echo "Available ${_name}s are: $_dynlist." printf "Which one %s? (or 'done') " "$_query" [ -n "$_dyndef" ] && printf "[%s] " "$_dyndef" _ask || continue [ -z "$resp" ] && resp="$_dyndef" # Quote $resp to prevent user from confusing isin() by # entering something like 'a a'. isin "$resp" $_dynlist done && break echo "'$resp' is not a valid choice." done } find_modloop_media() { devnum=$(mountpoint -d /.modloop) || return test -n "$devnum" || return modloop_file=$(cat /sys/dev/block/$devnum/loop/backing_file) || return test -n "$modloop_file" || return # assume that device name and mount point don't contain spaces modloop_media=$(df "$modloop_file" | awk 'NR==2{print $6}') || return test -n "$modloop_media" || return echo "$modloop_media" } # Extract fully qualified domain name from current hostname. If none is # currently set, use the provided fallback. get_fqdn() { local _dn _dn=$(hostname -f 2>/dev/null) _dn=${_dn#$(hostname -s 2>/dev/null)} _dn=${_dn#.} echo "${_dn:=$1}" } #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: copy-modloop Copy kernel modules from modloop and unmount loopback device options: -h Show this help __EOF__ exit $1 } while getopts "h" opt; do case $opt in h) usage 0;; '?') usage "1" >&2;; esac done shift $(($OPTIND - 1)) set -e if ! rc-service -q modloop status; then echo "modloop is not started" exit 1 fi if [ -n "$DO_UMOUNT" ] && [ -z "$modloop_media" ]; then modloop_media=$(find_modloop_media) fi modulesdir=/lib/modules if [ -L "$modulesdir" ]; then modulesdir=$(readlink "$modulesdir") fi cp -a "$modulesdir" /lib/modules.tmp rc-service modloop stop rm -r /lib/modules mv /lib/modules.tmp /lib/modules if [ -n "$DO_UMOUNT" ]; then umount "$modloop_media" fi #!/bin/sh PROGRAM=setup-acf VERSION=3.19.2-r0 PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { echo "usage: $PROGRAM [-ahn] [-e email] [-l address] [PACKAGE...]" exit $1 } pkgs="acf-core acf-alpine-baselayout acf-apk-tools openssl" while getopts "ae:hl:n" opt ; do case $opt in a) pkgs=$(apk search --quiet --exact 'acf-*');; e) EMAIL="$OPTARG";; h) usage 0;; l) address="$OPTARG";; n) create_passwd=no;; '?') usage "1" >&2;; esac done shift $(expr $OPTIND - 1) while [ $# -gt 0 ]; do pkgs="$pkgs acf-$1" shift done # install packages apk add mini_httpd $pkgs || exit 1 if [ "$create_passwd" != "no" ]; then mkdir -p /etc/acf if [ -f /etc/acf/passwd ]; then mv /etc/acf/passwd /etc/acf/passwd.backup fi echo "root:x:Admin account:ADMIN" >/etc/acf/passwd chmod 600 /etc/acf/passwd acfpasswd -s root fi # setup mini_httpd and start it if [ -d /var/www/localhost/htdocs ]; then mv /var/www/localhost/htdocs /var/www/localhost/htdocs.old fi mkdir -p /var/www/localhost/ ln -s /usr/share/acf/www/ /var/www/localhost/htdocs lbu add /var/www/localhost/htdocs SSLDIR=/etc/ssl/mini_httpd SSLCNF=$SSLDIR/mini_httpd.cnf KEYFILE=$SSLDIR/server.key CRTFILE=$SSLDIR/server.crt PEMFILE=$SSLDIR/server.pem if [ -f $PEMFILE ]; then echo "$PEMFILE already exist." else mkdir -p $SSLDIR cat >$SSLCNF <<-__EOF__ [ req ] default_bits = 1024 encrypt_key = yes distinguished_name = req_dn x509_extensions = cert_type prompt = no [ req_dn ] OU=HTTPS server CN=$(hostname -f || hostname) emailAddress=${EMAIL:-postmaster@example.com} [ cert_type ] nsCertType = server __EOF__ echo "Generating certificates for HTTPS..." openssl genrsa 2048 > $KEYFILE openssl req -new -x509 -nodes -sha1 -days 3650 -key $KEYFILE \ -config $SSLCNF > $CRTFILE cat $KEYFILE >> $CRTFILE rm $KEYFILE mv $CRTFILE $PEMFILE fi cat >/etc/mini_httpd/mini_httpd.conf <<-__EOF__ nochroot dir=/var/www/localhost/htdocs user=nobody cgipat=cgi-bin** certfile=$PEMFILE port=443 ssl __EOF__ if [ -n "$address" ]; then echo "host=$address" >> /etc/mini_httpd/mini_httpd.conf fi rc-update -q add mini_httpd default rc-service mini_httpd restart # force update of dependency cache rc-update -q --update #!/bin/sh PROGRAM=setup-alpine VERSION=3.19.2-r0 PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" if [ -t 1 ]; then COLCYAN="\e[36m" COLWHITE="\e[97m" COLRESET="\e[0m" else COLCYAN="" COLWHITE="" COLRESET="" fi print_heading1() { printf "${COLCYAN}%s${COLRESET}\n" "$1" } print_heading2() { printf "${COLWHITE}%s${COLRESET}\n" "$1" } is_kvm_clock() { grep -q "kvm-clock" "$ROOT"sys/devices/system/clocksource/clocksource0/current_clocksource 2>/dev/null } is_virtual_console() { case "$(readlink "$ROOT"/proc/self/fd/0)" in /dev/tty[0-9]*) return 0;; esac return 1 } usage() { cat <<-__EOF__ usage: setup-alpine [-ahq] [-c FILE | -f FILE] Setup Alpine Linux options: -a Create Alpine Linux overlay file -c Create answer file (do not install anything) -e Empty root password -f Answer file to use installation -h Show this help -q Quick mode. Ask fewer questions. __EOF__ exit $1 } while getopts "aef:c:hq" opt ; do case $opt in a) ARCHIVE=yes;; f) USEANSWERFILE="$OPTARG";; c) CREATEANSWERFILE="$OPTARG";; e) empty_root_password=1;; h) usage 0;; q) empty_root_password=1; quick=1; APKREPOSOPTS="-1"; HOSTNAMEOPTS="alpine";; '?') usage "1" >&2;; esac done shift $(expr $OPTIND - 1) rc_sys=$(openrc --sys) # mount xenfs so we can detect xen dom0 if [ "$rc_sys" = "XENU" ] && ! grep -q '^xenfs' /proc/mounts; then modprobe xenfs mount -t xenfs xenfs /proc/xen fi case "$USEANSWERFILE" in http*://*|ftp://*) # dynamically download answer file from URL (supports HTTP(S) and FTP) # ensure the network is up, otherwise setup a temporary interface config if ! rc-service networking --quiet status; then setup-interfaces -ar fi temp="$(mktemp)" wget -qO "$temp" "$USEANSWERFILE" || die "Failed to download '$USEANSWERFILE'" USEANSWERFILE="$temp" ;; *) [ -n "$USEANSWERFILE" ] && USEANSWERFILE=$(realpath "$USEANSWERFILE") ;; esac if [ -n "$USEANSWERFILE" ] && [ -e "$USEANSWERFILE" ]; then . "$USEANSWERFILE" fi if [ -n "$CREATEANSWERFILE" ]; then touch "$CREATEANSWERFILE" || echo "Cannot touch file $CREATEANSWERFILE" cat > "$CREATEANSWERFILE" <<-__EOF__ # Example answer file for setup-alpine script # If you don't want to use a certain option, then comment it out # Use US layout with US variant # KEYMAPOPTS="us us" KEYMAPOPTS=none # Set hostname to 'alpine' HOSTNAMEOPTS=alpine # Set device manager to mdev DEVDOPTS=mdev # Contents of /etc/network/interfaces INTERFACESOPTS="auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp hostname alpine-test " # Search domain of example.com, Google public nameserver # DNSOPTS="-d example.com 8.8.8.8" # Set timezone to UTC #TIMEZONEOPTS="UTC" TIMEZONEOPTS=none # set http/ftp proxy #PROXYOPTS="http://webproxy:8080" PROXYOPTS=none # Add first mirror (CDN) APKREPOSOPTS="-1" # Create admin user USEROPTS="-a -u -g audio,input,video,netdev juser" #USERSSHKEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOIiHcbg/7ytfLFHUNLRgEAubFz/13SwXBOM/05GNZe4 juser@example.com" #USERSSHKEY="https://example.com/juser.keys" # Install Openssh SSHDOPTS=openssh #ROOTSSHKEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOIiHcbg/7ytfLFHUNLRgEAubFz/13SwXBOM/05GNZe4 juser@example.com" #ROOTSSHKEY="https://example.com/juser.keys" # Use openntpd # NTPOPTS="openntpd" NTPOPTS=none # Use /dev/sda as a sys disk # DISKOPTS="-m sys /dev/sda" DISKOPTS=none # Setup storage with label APKOVL for config storage #LBUOPTS="LABEL=APKOVL" LBUOPTS=none #APKCACHEOPTS="/media/LABEL=APKOVL/cache" APKCACHEOPTS=none __EOF__ echo "Answer file $CREATEANSWERFILE has been created. Please add or remove options as desired in that file" exit 0 fi printf "\n\n" print_heading1 " ALPINE LINUX INSTALL" print_heading1 "----------------------" if [ "$ARCHIVE" ] ; then echo "Creating an Alpine overlay" init_tmpdir ROOT else PKGADD="apk add" fi # set keymap if [ "$rc_sys" != LXC ]; then if is_virtual_console || [ -n "$KEYMAPOPTS" ]; then echo print_heading2 " Keymap" print_heading2 "--------" setup-keymap ${KEYMAPOPTS} fi # set hostname echo print_heading2 " Hostname" print_heading2 "----------" setup-hostname ${HOSTNAMEOPTS} && [ -z "$SSH_CONNECTION" ] && rc-service hostname --quiet restart setup-devd -C mdev # just to bootstrap fi # set Interface [ -z "$SSH_CONNECTION" ] && rst_if=1 if [ -n "$INTERFACESOPTS" ]; then if [ "$INTERFACESOPTS" != none ]; then printf "$INTERFACESOPTS" | setup-interfaces -i ${rst_if:+-r} fi else echo print_heading2 " Interface" print_heading2 "-----------" setup-interfaces ${quick:+-a} ${rst_if:+-r} fi # setup up dns if no dhcp was configured if [ -f "$ROOT"/etc/network/interfaces ] && ! grep -q '^iface.*dhcp' "$ROOT"/etc/network/interfaces; then setup-dns ${DNSOPTS} fi # set root password if [ -z "$empty_root_password" ]; then echo print_heading2 " Root Password" print_heading2 "---------------" while ! $MOCK passwd ; do echo "Please retry." done fi # pick timezone if [ -z "$quick" ]; then echo print_heading2 " Timezone" print_heading2 "----------" setup-timezone ${TIMEZONEOPTS} fi echo rc-update --quiet add networking boot rc-update --quiet add seedrng boot || rc-update --quiet add urandom boot svc_list="cron crond" if [ -e /dev/input/event0 ]; then # Only enable acpid for systems with input events entries # https://gitlab.alpinelinux.org/alpine/aports/-/issues/12290 svc_list="$svc_list acpid" fi for svc in $svc_list; do if rc-service --exists $svc; then rc-update --quiet add $svc fi done # start up the services $MOCK openrc ${SSH_CONNECTION:+-n} boot $MOCK openrc ${SSH_CONNECTION:+-n} default # update /etc/hosts - after we have got dhcp address # Get default fully qualified domain name from *first* domain # given on *last* search or domain statement. _dn=$(sed -n \ -e '/^domain[[:space:]][[:space:]]*/{s///;s/\([^[:space:]]*\).*$/\1/;h;}' \ -e '/^search[[:space:]][[:space:]]*/{s///;s/\([^[:space:]]*\).*$/\1/;h;}' \ -e '${g;p;}' "$ROOT"/etc/resolv.conf 2>/dev/null) _hn=$(hostname) _hn=${_hn%%.*} sed -i -e "s/^127\.0\.0\.1.*/127.0.0.1\t${_hn}.${_dn:-$(get_fqdn my.domain)} ${_hn} localhost.localdomain localhost/" \ "$ROOT"/etc/hosts 2>/dev/null if [ -z "$quick" ]; then echo print_heading2 " Proxy" print_heading2 "-------" setup-proxy -q ${PROXYOPTS} fi # activate the proxy if configured if [ -r "$ROOT/etc/profile" ]; then . "$ROOT/etc/profile" fi if ! is_kvm_clock && [ "$rc_sys" != "LXC" ] && [ "$quick" != 1 ]; then echo print_heading2 " Network Time Protocol" print_heading2 "-----------------------" setup-ntp ${NTPOPTS} fi echo print_heading2 " APK Mirror" print_heading2 "------------" setup-apkrepos ${APKREPOSOPTS} # Now that network and apk are operational we can install another device manager if [ "$rc_sys" != LXC ] && [ -n "$DEVDOPTS" -a "$DEVDOPTS" != mdev ]; then setup-devd ${DEVDOPTS} fi # lets stop here if in "quick mode" if [ "$quick" = 1 ]; then exit 0 fi echo print_heading2 " User" print_heading2 "------" setup-user ${USERSSHKEY+-k "$USERSSHKEY"} ${USEROPTS:--a -g 'audio input video netdev'} for i in "$ROOT"home/*; do if [ -d "$i" ]; then lbu add $i fi done setup-sshd ${ROOTSSHKEY+-k "$ROOTSSHKEY"} ${SSHDOPTS} root_keys="$ROOT"/root/.ssh/authorized_keys if [ -f "$root_keys" ]; then lbu add "$ROOT"/root fi if is_xen_dom0; then echo print_heading2 " Xen" print_heading2 "-----" setup-xen-dom0 ${XENDOM0OPTS} fi if [ "$rc_sys" = "LXC" ]; then exit 0 fi echo print_heading2 " Disk & Install" print_heading2 "----------------" DEFAULT_DISK=none \ setup-disk -w /tmp/alpine-install-diskmode.out -q ${DISKOPTS} || exit diskmode=$(cat /tmp/alpine-install-diskmode.out 2>/dev/null) # setup lbu and apk cache unless installed sys on disk if [ "$diskmode" != "sys" ]; then setup-lbu ${LBUOPTS} setup-apkcache ${APKCACHEOPTS} if [ -L "$ROOT"/etc/apk/cache ]; then apk cache sync fi fi #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: setup-apkcache [-h] [DIR] Setup apk caching. If DIR is not specified user will be asked for location. options: -h Show this help __EOF__ exit $1 } is_mounted() { awk '{print $2}' /proc/mounts | grep -q "^$1$" } find_fstab_mount_point() { local dir="$1" local res= if ! [ -r "${ROOT}"etc/fstab ]; then return fi while [ -n "$dir" ]; do res=$(awk "\$2 == \"$dir\" {print \$2}" "${ROOT}"etc/fstab) if [ -n "$res" ]; then echo $res return fi dir=${dir%/*} done } # figure out mount point find_mount_point() { local dir="$(find_fstab_mount_point "$1")" if [ -d "$dir" ] && [ "$dir" != "/" ]; then echo $dir return fi local dir="$1" while [ -n "$dir" ] && ! [ -d "$dir" ]; do dir=${dir%/*} done local fs_id="$(stat -f -c %i "${dir:-/}")" local parent="${dir%/*}" while [ -n "$dir" ] && [ "$(stat -f -c %i "$parent/")" = "$fs_id" ]; do dir=$parent parent=${parent%/*} done [ -z "$dir" ] && dir=/ echo $dir } # get device for a given mount point get_dev_from_mountpoint() { local mnt="$1" local fstab="$2" awk "\$2 == \"$mnt\" {print \$1}" "$fstab" } get_mount_opts_from_mountpoint() { local mnt="$1" local fstab="$2" awk "\$2 == \"$mnt\" {gsub(/,/, \" \", \$4); print \$4}" "$fstab" } has_mount_opt() { local searchfor="$1" local mnt="$2" local fstab="$3" local opts="$(get_mount_opts_from_mountpoint "$mnt" "$fstab")" local opt= for opt in $opts; do if [ "$opt" = "$searchfor" ]; then return 0 fi done return 1 } is_mounted_ro() { has_mount_opt ro "$1" /proc/mounts } # get the fstype of the given mount point mount_fstype() { # we only want the last mount in case there are several awk -v mnt="$1" '$2 == "/" {fstype = mnt} END {print fstype}' \ /proc/mounts } apk_cache_help() { cat <<-__EOF__ Packages installed from network can be cached locally to be available during boot, before the network is started. Specifying a directory here will make apk cache the packages locally in this directory. Enter 'none' if you do not want to cache packages from network. __EOF__ } while getopts "h" opt; do case $opt in h) usage 0;; '?') usage "1" >&2;; esac done shift $(( OPTIND - 1 )) # try auto detetect what we suggest suggestion= if [ -L "${ROOT}"etc/apk/cache ]; then suggestion=$(readlink "${ROOT}"etc/apk/cache) fi if [ -z "$suggestion" ] && [ -f "$ROOT"etc/lbu/lbu.conf ]; then . "$ROOT"etc/lbu/lbu.conf if [ -n "$LBU_MEDIA" ]; then suggestion=/media/$LBU_MEDIA/cache fi fi if [ -z "$suggestion" ] && [ -L /dev/usbdisk ]; then suggestion=/media/usb/cache fi if [ -z "$suggestion" ] && [ "$(mount_fstype /)" != "tmpfs" ]; then suggestion=/var/cache/apk fi if [ -z "$suggestion" ]; then suggestion=none fi cachedir="$1" resp= while [ $# -eq 0 ] && [ -z "$cachedir" ]; do ask "Enter apk cache directory (or '?' or 'none')" "$suggestion" cachedir="$resp" if [ "$cachedir" = "?" ]; then apk_cache_help cachedir= fi done if [ "$cachedir" = "none" ]; then exit 0 fi case "$cachedir" in /*) ;; *) cachedir="${PWD#${ROOT%/}}/$cachedir";; esac mount=$(find_mount_point "$cachedir") cleanup= if ! is_mounted "$mount"; then # remove noauto that setup-lbu might have added if has_mount_opt noauto "$mount" /etc/fstab; then fstabtmp=$(mktemp) awk -v mnt="$mount" \ '$2 != mnt {print $0} $2 == mnt { sub(/noauto,|,noauto/, "", $4); sub(/^noauto$/, "defaults", $4); print $0 }' /etc/fstab > "$fstabtmp" mv "$fstabtmp" /etc/fstab fi mount "$mount" || exit 1 elif is_mounted_ro "$mount"; then mount -o remount,rw "$mount" || exit 1 cleanup="remount" fi mkdir -p "$ROOT$cachedir" if [ -L "$ROOT"etc/apk/cache ]; then rm -f "$ROOT"etc/apk/cache fi mkdir -p "$ROOT"etc/apk ln -s "$cachedir" "$ROOT"etc/apk/cache case "$cleanup" in umount) umount "$mount";; remount) mount -o remount,ro "$mount";; esac #!/bin/sh PROGRAM=setup-apkrepos PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" : ${MIRRORS_URL:=https://mirrors.alpinelinux.org/mirrors.txt} if [ "$ROOT" != "/" ]; then apk_root_opt="--root $ROOT" fi get_hostname_from_url() { local n="${1#*://}" echo ${n%%/*} } get_mirror_count() { set -- $MIRRORS echo $# } ask_setup_method() { local cstate="enable" if [ -z "$community_prefix" ]; then cstate="disable" fi cat <<-__EOF__ (f) Find and use fastest mirror (s) Show mirrorlist (r) Use random mirror (e) Edit ${ROOT}etc/apk/repositories with text editor (c) Community repo $cstate (skip) Skip setting up apk repositories __EOF__ ask "Enter mirror number or URL:" $1 printf "\n" } add_random_mirror() { local i=0 local count=$(get_mirror_count) if [ ${count:-0} -eq 0 ]; then echo "Warning! no mirror found" >&2 return 1 fi local random_mirror_index="$(awk -v count=$count 'BEGIN {srand(); printf("%.0f", rand() * count)}')" printf %s "Picking random mirror..." for mirror in $MIRRORS; do if [ $i -eq $random_mirror_index ]; then break fi i=$(( $i + 1 )) done add_mirror $mirror } time_cmd() { local start="$(cut -d ' ' -f1 /proc/uptime)" $@ >&2 || return awk -v start=$start -v end=$(cut -d ' ' -f1 /proc/uptime) \ 'BEGIN {print end - start; exit}' } find_fastest_mirror() { local url= local arch="$(apk --print-arch)" for url in $MIRRORS; do # warm up the dns cache $MOCK nslookup $(get_hostname_from_url $url) >/dev/null 2>&1 local time="$(time_cmd wget --spider -q -T 5 -t 1 \ ${url%/}/edge/main/$arch/APKINDEX.tar.gz)" if [ -n "$time" ]; then echo "$time $url" fi done | tee /dev/stderr | sort -nk1,1 | head -n1 | cut -d' ' -f2 } add_fastest_mirror() { echo "Finding fastest mirror... " local fastest="$(find_fastest_mirror)" if [ -z "$fastest" ]; then echo "Warning! No mirror found" >&2 return 1 fi add_mirror "$fastest" } # For every main/ repo, enable corresponding community/ repo add_community_mirrors() { for repo in $(grep '^[^#].*/main$' "$APKREPOS_PATH" 2>/dev/null); do crepo="${repo%%/main}/community" if ! grep -qx -- "$crepo" "$APKREPOS_PATH"; then echo ">>> Enabling repository $crepo" echo "$crepo" >> "$APKREPOS_PATH" fi done } # show mirrors show_mirror_list() { local mirror i=0 [ -z "$MIRRORS" ] && return echo "" echo "Available mirrors:" for mirror in $MIRRORS; do i=$(($i + 1)) echo "$i) $(get_hostname_from_url $mirror)" done echo "" } add_from_list() { local mirror_index="$1" if [ $mirror_index -lt 1 ] || [ $mirror_index -gt $(get_mirror_count) ]; then return 1 fi set $MIRRORS eval "mirror=\${$mirror_index}" add_mirror "$mirror" } get_alpine_release() { # use the main version already configured, or get the version from /etc/alpine-release local version="$(grep -Eom1 '[^/]+/main/?$' "${ROOT}"etc/apk/repositories 2>/dev/null | grep -Eo '^[^/]+' \ || cat "${ROOT}"etc/alpine-release 2>/dev/null)" case "$version" in *_git*|*_alpha*) release="edge";; [0-9]*.[0-9]*.[0-9]*) # release in x.y.z format, cut last digit release=v${version%.[0-9]*};; v[0-9]*.[0-9]*) # release in vx.y format, keep as is release="${version}";; *) # fallback to edge release="edge";; esac } add_mirror() { local mirror="$1" mkdir -p "${APKREPOS_PATH%/*}" echo "${mirror%/}/${release}/main" >> $APKREPOS_PATH echo "${community_prefix}${mirror%/}/${release}/community" >> $APKREPOS_PATH echo "Added mirror $(get_hostname_from_url $mirror)" } add_from_url() { mkdir -p "${APKREPOS_PATH%/*}" echo "$1" >> $APKREPOS_PATH echo "" >> $APKREPOS_PATH } edit_repositories() { local md5="$(md5sum $APKREPOS_PATH 2>/dev/null)" mkdir -p "${APKREPOS_PATH%/*}" ${EDITOR:-vi} "$APKREPOS_PATH" # return true if file changed test "$(md5sum $APKREPOS_PATH 2>/dev/null)" != "$md5" } usage() { cat <<-__EOF__ usage: setup-apkrepos [-ch] [-f|-r|-1|REPO...] setup-apkrepos -o Setup apk repositories options: -c Enable the community repo -f Detect and add fastest mirror -h Show this help -o Only enable a community repo for every defined repo -r Add a random mirror and do not prompt -1 Add first mirror on the list (normally a CDN) Option -o cannot be used with options -c, -f, -r or -1. __EOF__ exit $1 } community_prefix="#" add_fastest=false add_first=false add_random=false add_community_repos=false while getopts "c1fhor" opt; do case $opt in c) community_prefix="" if $add_community_repos; then usage "1" >&2 fi ;; f) add_fastest=true if $add_first || $add_random || $add_community_repos; then usage "1" >&2 fi ;; 1) add_first=true if $add_fastest || $add_random || $add_community_repos; then usage "1" >&2 fi ;; h) usage 0;; o) add_community_repos=true if $add_first || $add_fastest || $add_random \ || [ $community_prefix != "#" ]; then usage "1" >&2 fi ;; r) add_random=true if $add_first || $add_fastest || $add_community_repos; then usage "1" >&2 fi ;; '?') usage "1" >&2;; esac done shift $(($OPTIND - 1)) if [ -z "$MIRRORS" ]; then MIRRORS=$(wget -qO- $MIRRORS_URL) fi APKREPOS_PATH="${ROOT}"etc/apk/repositories if [ -r "$APKREPOS_PATH" ]; then APKREPOS=$(cat "$APKREPOS_PATH") fi get_alpine_release changed=false if [ $# -gt 0 ] && ! $add_community_repos; then # replace the apk repos with the specified ones rm -f "$APKREPOS_PATH" mkdir -p "${APKREPOS_PATH%/*}" for i; do echo "$i" >> "$APKREPOS_PATH" && changed=true done fi if $add_first; then set -- $MIRRORS if [ $# -eq 0 ]; then echo "Warning! No mirror found" >&2 exit 1 fi add_mirror "$1" || exit changed=true fi if $add_random; then add_random_mirror || exit changed=true fi if $add_fastest; then add_fastest_mirror || exit changed=true fi if $add_community_repos; then add_community_mirrors || exit changed=true fi if $add_first || $add_random || $add_fastest || $add_community_repos; then interactive=false else interactive=true fi while $interactive && ! $changed; do if [ -z "$MIRRORS" ]; then MIRRORS=$(wget -qO- $MIRRORS_URL) fi ask_setup_method ${APKREPO_DEFAULT_ANSWER:-1} case "$resp" in skip) break;; [0-9]*) add_from_list $resp && changed=true;; /*|http://*|ftp://*|https://*) add_from_url "$resp" \ && changed=true;; s) show_mirror_list | more;; r|"r c") add_random_mirror && changed=true;; f|"f c") add_fastest_mirror && changed=true;; e) edit_repositories && changed=true;; c) case "$community_prefix" in "#") community_prefix=""; cstate="enabled";; "") community_prefix="#"; cstate="disabled";; esac printf "Community repository %s\n\n" "$cstate" ;; esac case "$resp" in *c) community_prefix=""; printf "Community repository enabled\n";; esac done if $changed; then printf %s "Updating repository indexes... " apk update --quiet $apk_root_opt && echo "done." fi #!/bin/sh prog=${0##*/} version=3.19.2-r0 files_to_move="boot efi apks syslinux.cfg .alpine-release" read_only_mounts= umounts= uninstalls= destdir= cleanup_tmpdata() { if [ -d "$destdir" -a -d "$destdir/.new" ]; then rm -rf "$destdir"/.new fi } cleanup_mounts() { local i= cd / sync sleep 1 for i in $read_only_mounts; do mount -o remount,ro "$i" || echo "Warning: Failed to remount as read-only. Is modloop mounted?" done read_only_mounts="" if [ -n "$umounts" ]; then umount $umounts umounts="" fi } cleanup_installs() { if [ -n "$uninstalls" ]; then apk del --quiet $uninstalls uninstalls="" fi } cleanup() { cleanup_tmpdata cleanup_mounts cleanup_installs } trap cleanup EXIT trap "exit 2" INT TERM QUIT die() { echo "$@" >&2 exit 1 } # find device for mountpoint find_dev() { local mnt="${1%/}" # strip trailing / awk "\$2 == \"$mnt\" {print \$1}" /proc/mounts } # check if given device is on usb bus on_usb_bus() { local dev="$1" [ -e /sys/block/$dev ] || return 1 local sysdev="$(readlink -f /sys/block/$dev/device)" test "${sysdev##*/usb[0-9]}" != "$sysdev" } vecho() { [ -z "$verbose" ] && return 0 echo "$@" } # check if given dir is read-only is_read_only() { local tmpfile="$(mktemp -p "$1" 2>/dev/null)" [ -z "$tmpfile" ] && return 0 rm -f "$tmpfile" return 1 } # find what disk this partition belongs to find_disk_dev() { local i= sysfsname="${1#/dev/}" sysfsname=${sysfsname//\/!} # cciss/c0d0 -> cciss!c0d0 if [ -e /sys/block/$sysfsname ]; then echo "/dev/${sysfsname//!/'/'}" return 0 fi for i in /sys/block/*/$sysfsname; do [ -e "$i" ] || continue echo "$i" | cut -d/ -f4 | sed -e 's:!:/:g' -e 's:^:/dev/:' return 0 done return 1 } find_syslinux_cfg() { # find where new syslinux.cfg is for i in boot/syslinux/syslinux.cfg syslinux.cfg; do if [ -e "$1"/$i ]; then syslinux_cfg=$i vecho "Found $syslinux_cfg" break fi done } fix_syslinux_kernel() { echo "Fixing $syslinux_cfg: kernel $1 -> $2" sed -i -e "/^\s*[Kk][Ee][Rr][Nn][Ee][Ll]\s/s|$1|$2|" \ "$destdir/$syslinux_cfg" } fix_syslinux_initrd() { echo "Fixing $syslinux_cfg: initrd $1 -> $2" sed -i -e "/^\s*[Ii][Nn][Ii][Tt][Rr][Dd]\s/s|$1|$2|" \ -e "/^\s*[Aa][Pp][Pp][Ee][Nn][Dd]\s/s|initrd=$1|initrd=$2|" \ "$destdir/$syslinux_cfg" } check_syslinux() { if [ -z "$syslinux_cfg" ]; then find_syslinux_cfg "$destdir" fi if [ -z "$syslinux_cfg" ]; then die "Could not find any syslinux.cfg. Aborting" fi # kernels for i in $(awk 'tolower($1) == "kernel" {print $2}' "$destdir"/$syslinux_cfg); do k="${destdir%/}/${i#/}" f=${k##*/} if [ -e "$k" ] && [ "${f#vmlinuz}" != "$f" ]; then continue fi if [ -e "${k%/*}"/vmlinuz-$f ] && [ -n "$fix_syslinux_cfg" ]; then fix_syslinux_kernel "$i" "${i%/*}"/vmlinuz-$f elif ! [ -e "$k" ]; then echo "Warning: $syslinux_cfg: kernel $k was not found" echo " Run $0 -f -c "$destdir" to fix" fi done #initramfs initrds=$(awk 'tolower($1) == "initrd" {gsub(",", " "); for (i=2; i<=NF; i++) print $i}' \ "$destdir"/$syslinux_cfg) for i in $(awk 'tolower($1) == "append" {print $0}' \ "$destdir"/$syslinux_cfg); do case $i in initrd=*) initrds=${i#initrd=};; esac done for i in $initrds; do if [ -e "$destdir"/$i ]; then continue fi fname=${i##*/} flavor=${fname%.gz} new=${i%/*}/initramfs-$flavor if [ -e "$destdir"/$new ] && [ -n "$fix_syslinux_cfg" ]; then fix_syslinux_initrd "$i" "$new" else echo "Warning: initrd $i was not found. System will likely not boot" echo " Run $0 -f -c "$destdir" to fix" fi done } version_check() { local new_dir="$1" old_dir="$2" # check if its same version local to_version="$(cat "$new_dir"/.alpine-release)" if [ -n "$upgrade" ] && [ -e "$old_dir"/.alpine-release ]; then local from_version="$(cat "$old_dir"/.alpine-release)" if [ -z "$force" ] && [ -n "$to_version" ] && [ "$from_version" = "$to_version" ]; then die "Source and target seems to have same version ($from_version). Aborting." fi echo "Upgrading $dest from $from_version to $to_version" else echo "Installing $dest to $to_version" fi } usage() { cat <<-__EOF__ $prog $version usage: $prog [-fhUusv] SOURCE [DEST] $prog -c DIR Copy the contents of SOURCE to DEST and make DEST bootable. SOURCE can be a directory or a ISO image. DEST can be a mounted directory or a device. If DEST is ommitted /media/usb will be used. Options: -f Force overwrite existing files. Will overwrite syslinux.cfg if upgrade. -h Show this help. -k fix kernel and initrd name in syslinux.cfg if needed. -U Replace current alpine_dev in syslinux.cfg with UUID if UUID found. -u Upgrade mode. Keep existing syslinux.cfg and don't run syslinux. -s Force run syslinux, even if upgrade mode. -v Verbose mode. Display whats going on. -c Check syslinux.cfg in destination DIR. Use with -f to fix. __EOF__ exit 1 } while getopts "c:fhkUusv" opt; do case "$opt" in c) check_syslinux="$OPTARG";; f) force=1; fix_syslinux_cfg=1;; h) usage;; k) fix_syslinux_cfg=1;; U) replace_alpine_dev=1;; u) upgrade=1;; s) syslinux=1;; v) verbose=1;; esac done shift $(($OPTIND - 1)) src=${1} dest=${2:-/media/usb} if [ -n "$check_syslinux" ]; then destdir="$check_syslinux" check_syslinux exit 0 fi [ -z "$src" ] && usage # find target device if [ -d "$dest" ]; then dest=${dest%/} # strip trailing / if ! awk '{print $2}' /proc/mounts | grep -q "^$dest\$"; then mount "$dest" || die "Failed to mount $dest" umounts="$umounts $dest" elif [ -n "$syslinux" ]; then die "Cannot run syslinux on mounted device" else nosyslinux=1 fi destdir="$dest" dest=$(find_dev "$destdir") elif [ -b "$dest" ]; then destdir="/media/${dest##*/}" mkdir -p "$destdir" mount "$dest" "$destdir" || die "Failed to mount $dest on $destdir" umounts="$umounts $destdir" fi # remount as rw if needed if is_read_only "$destdir"; then vecho "Remounting $destdir as read/write" mount -o remount,rw "$dest" || die "Failed to remount $destdir as rw" read_only_mounts="$read_only_mounts $destdir" fi # fish out label, uuid and type eval $(blkid $dest | cut -d: -f2-) vecho "Using $dest as target (mounted on $destdir)" # find parent device (i.e sda) dev="$dest" while [ -L "$dev" ]; do dev=$(readlink -f $dev) done parent_dev=$(find_disk_dev $dev) # check if this files exist and not in upgrade mode if [ -z "$upgrade" ] && [ -z "$force" ]; then for i in $files_to_move; do [ -e "$destdir"/$i ] && die "$destdir/$i already exists. Use -u to upgrade." done fi # remove partial upgrades if any rm -rf "$destdir"/.new "$destdir"/.old mkdir -p "$destdir"/.new || die "Failed to create $destdir/.new" # copy data from source to .new if [ -f "$src"/.alpine-release ]; then srcdir="$(echo $src | sed -r 's,/$,,')" version_check "$srcdir" "$destdir" for i in $files_to_move; do if [ -e "$srcdir"/$i ]; then vecho "Copying $srcdir/$i to $destdir/.new/" cp -dR "$srcdir"/$i "$destdir"/.new/ fi done else vecho "Extracting $src to $destdir/.new/" case "$src" in https://*|http://*|ftp://*) ${WGET:-wget} -O - "$src" | (cd "$destdir"/.new; exec ${UNISO:-uniso}) \ || die "Failed to download or extract $src" echo "" ;; *) (cd "$destdir"/.new; exec ${UNISO:-uniso}) < "$src" \ || die "Failed to download or extract $src" ;; esac version_check "$destdir/.new" "$destdir" fi # find where new syslinux.cfg is find_syslinux_cfg "$destdir"/.new # abort early in case unexpected trouble if [ -z "$syslinux_cfg" ]; then die "Could not find any syslinux.cfg on new iso?" fi # make sure files are really there before we replace existing vecho "Flushing cache..." sync vecho "Replacing existing files..." mkdir -p "$destdir"/.old || die "Failed to create $destdir/.old" # move current files to .old for i in $files_to_move; do if [ -e "$destdir"/$i ]; then mv "$destdir"/$i "$destdir"/.old/ || die "Failed to move $destdir/$i to $destdir/.old/" fi done # keep any existing syslinux.cfg if [ -e "$destdir"/.old/$syslinux_cfg ]; then mv "$destdir"/.old/$syslinux_cfg "$destdir"/.new/$syslinux_cfg elif [ -e "$destdir"/.old/syslinux.cfg ] \ && [ -e "$destdir"/.new/boot/syslinux/syslinux.cfg ]; then echo "Warning: moving syslinux.cfg to boot/syslinux/syslinux.cfg" >&2 mv "$destdir"/.old/syslinux.cfg "$destdir"/.new/boot/syslinux if [ -z "$syslinux" ]; then echo " You might need run: syslinux $dest" >&2 fi fi # move .new to current for i in $files_to_move; do if [ -e "$destdir"/.new/$i ]; then mv "$destdir"/.new/$i "$destdir"/ \ || die "Failed to move $destdir/.new/ to $destdir" fi done if [ -n "$replace_alpine_dev" -o -z "$upgrade" ] && [ -n "$UUID" ]; then sed -E -i -e "s/alpine_dev=[^ \t:]+/alpine_dev=UUID=$UUID/" \ "$destdir"/$syslinux_cfg fi # verify syslinux.cfg check_syslinux # cleanup [ -z "$keep_old" ] && rm -rf "$destdir"/.old "$destdir"/.new # If we only copy then we are done. if [ -n "$upgrade" ] && [ -z "$syslinux" ]; then exit 0 fi # prevent running syslinux on mounted device if [ -n "$nosyslinux" ]; then echo "Warning: Can not run syslinux on a mounted device" echo " You might need run syslinux manually and install MBR manually" exit 0 fi echo "Making $dest bootable..." if ! [ -x "$(which syslinux)" ]; then apk add --quiet syslinux || die "Failed to install syslinux" uninstalls="syslinux" fi # we need to unmount the device before we can run syslinux cleanup_mounts fsync $dest syslinux $dest if [ -b $parent_dev ]; then dd if=/usr/share/syslinux/mbr.bin of=$parent_dev status=none else echo "Warning: Could not find the parent device for $dest" fi #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: setup-desktop [-h] [gnome|plasma|xfce|mate|sway|lxqt] Install a standard desktop options: -h Show this help __EOF__ exit $1 } while getopts "h" opt; do case $opt in h) usage 0;; '?') usage "1" >&2;; esac done shift $(($OPTIND - 1)) if [ $# -gt 1 ]; then usage "1" >&2 fi if [ $# -eq 0 ]; then users=$(awk -F: '{if ($3<65000 && $3 >= 1000) print $1}' "$ROOT"/etc/passwd 2>/dev/null) if [ -z "$users" ]; then setup-user -g "audio,video,netdev" fi fi de="$1" valid_desktops="xfce gnome plasma mate sway lxqt none" if [ $# -eq 1 ] && ! isin "$de" $valid_desktops; then echo "$de is not a valid desktop" >&2 usage "1" >&2 fi shift while ! isin "$de" $valid_desktops; do ask "Which desktop environment? ('gnome', 'plasma', 'xfce', 'mate', 'sway', 'lxqt' or 'none')" none de="$resp" done case "$de" in none) exit 0 ;; mate) setup-xorg-base mate-desktop-environment ${BROWSER:-firefox} \ gvfs \ lightdm \ lightdm-gtk-greeter \ polkit \ dbus \ dbus-x11 \ font-dejavu \ "$@" rc-update add dbus rc-update add lightdm ;; xfce) setup-xorg-base xfce4 ${BROWSER:-firefox} \ elogind \ gvfs \ lightdm \ lightdm-gtk-greeter \ polkit-elogind \ xfce4-screensaver \ xfce4-terminal \ font-dejavu \ "$@" rc-update add lightdm ;; lxqt) setup-xorg-base ${BROWSER:-firefox} \ lxqt-desktop \ lximage-qt \ obconf-qt \ pavucontrol-qt \ arandr \ sddm \ font-dejavu \ dbus \ dbus-x11 \ openbox \ elogind \ polkit-elogind \ gvfs \ udisks2 \ adwaita-qt \ oxygen \ "$@" rc-update add dbus rc-update add sddm rc-update add elogind ;; gnome) setup-wayland-base ${BROWSER:-firefox} "$@" # apk info needs community repos which are enabled with setup-wayland-base apk add $(apk info --quiet --depends gnome gnome-apps-core) rc-update add gdm ;; plasma) setup-xorg-base ${BROWSER:-firefox} \ ark \ bluedevil \ breeze \ breeze-gtk \ dbus \ discover \ drkonqi \ font-noto \ gwenview \ kate \ kde-cli-tools \ kde-gtk-config \ kde-icons \ kdeplasma-addons \ kgamma \ kinfocenter \ kio-fuse \ kmenuedit \ konsole \ kscreen \ ksshaskpass \ kwallet-pam \ kwayland-integration \ pinentry-qt \ pipewire-alsa \ pipewire-pulse \ plasma-browser-integration \ plasma-desktop \ plasma-disks \ plasma-nm \ plasma-pa \ plasma-systemmonitor \ plasma-vault \ plasma-welcome \ plasma-workspace-wallpapers \ polkit-elogind \ polkit-kde-agent-1 \ powerdevil \ print-manager \ sddm-breeze \ sddm-kcm \ spectacle \ systemsettings \ udisks2 \ xdg-desktop-portal-kde \ xdg-user-dirs \ "$@" rc-update add dbus rc-update add sddm ;; sway) setup-wayland-base ${BROWSER:-firefox} \ font-dejavu \ foot \ grim \ i3status \ sway \ swayidle \ swaylockd \ util-linux-login \ wl-clipboard \ wmenu \ xwayland \ "$@" ;; *) usage "1" >&2 ;; esac users=$(awk -F: '{if ($3<65000 && $3 >= 1000) print $1}' "$ROOT"/etc/passwd 2>/dev/null) if [ -z "$users" ]; then echo "WARNING: You need to create a user account. Please run: setup-user" >&2 echo "" >&2 fi #!/bin/sh -e PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" prog="${0##*/}" usage () { cat </dev/null || : rc-update delete --quiet --quiet mdevd sysinit 2>/dev/null || : fi } enable_mdevd () { apk add --quiet mdevd mdevd-openrc rc-update add --quiet mdevd sysinit rc-update add --quiet mdevd-init sysinit rc-update add --quiet hwdrivers sysinit rc-service --ifstopped mdevd start if "$1" ; then rc-service mdevd-init start rc-service hwdrivers --ifstopped start fi } disable_udev () { if rc-service --exists udev ; then rc-service --ifstopped --quiet udev-postmount stop rc-service --ifstarted --quiet udev stop rc-update delete --quiet --quiet udev-postmount default 2>/dev/null || : rc-update delete --quiet --quiet udev-settle sysinit 2>/dev/null || : rc-update delete --quiet --quiet udev-trigger sysinit 2>/dev/null || : rc-update delete --quiet --quiet udev sysinit 2>/dev/null || : fi } enable_udev () { apk add --quiet eudev udev-init-scripts udev-init-scripts-openrc rc-update add --quiet udev sysinit rc-update add --quiet udev-trigger sysinit rc-update add --quiet udev-settle sysinit rc-update add --quiet udev-postmount default rc-service --ifstopped udev start rc-service --ifstopped udev-trigger start rc-service --ifstopped udev-settle start rc-service --ifstopped udev-postmount start } coldplug=false while getopts "hC" opt ; do case $opt in h) usage 0;; C) coldplug=true ;; '?') usage 1 >&2;; esac done shift $((OPTIND - 1)) devd="$1" if test -n "$devd" ; then interactive=false else interactive=true fi until isin "$devd" mdev mdevd udev ; do ask "What program should manage /dev? [mdev|mdevd|udev]" mdev devd="$resp" done if "$interactive" ; then if ask_yesno "Scan the hardware to populate /dev? [y|n] (Say yes if you're running this script for the first time.)" n ; then coldplug=true else coldplug=false fi fi case "$devd" in mdev) disable_mdevd ; disable_udev ; enable_mdev $coldplug ;; mdevd) disable_mdev ; disable_udev ; enable_mdevd $coldplug ;; udev) disable_mdev ; disable_mdevd ; enable_udev $coldplug ;; esac #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: setup-dns [-h] [-d DOMAINNAME] [IPADDR...] Setup ${ROOT}etc/resolv.conf DNS settings options: -h Show this help -d specify search domain name The optional IPADDR are a list of DNS servers to use. __EOF__ exit $1 } while getopts "d:n:h" opt; do case $opt in d) DOMAINNAME="$OPTARG";; h) usage 0;; n) NAMESERVERS="$OPTARG";; '?') usage "1" >&2;; esac done shift $(($OPTIND - 1)) conf="${ROOT}etc/resolv.conf" if [ -f "$conf" ] ; then domain=$(awk '/^domain/ {print $2}' $conf) dns=$(awk '/^nameserver/ {printf "%s ",$2}' $conf) elif fqdn="$(get_fqdn)" && [ -n "$fqdn" ]; then domain="$fqdn" fi if [ -n "$DOMAINNAME" ]; then domain="$DOMAINNAME" elif [ $# -eq 0 ]; then ask "DNS domain name? (e.g 'bar.com')" "$domain" domain="$resp" fi if [ -n "$NAMESERVERS" ] || [ $# -gt 0 ];then dns="$NAMESERVERS" else ask "DNS nameserver(s)?" "${dns% }" dns="$(echo $resp | tr ',' ' ')" fi if [ -n "$domain" ]; then mkdir -p "${conf%/*}" echo "search $domain" > $conf fi if [ -n "$dns" ] || [ $# -gt 0 ] && [ -f "$conf" ]; then sed -i -e '/^nameserver/d' $conf fi for i in $dns $@; do mkdir -p "${conf%/*}" echo "nameserver $i" >> $conf done #!/bin/sh PROGRAM=setup-hostname PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: setup-hostname [-h] [HOSTNAME] Sets the system hostname. options: -h Show this help Sets hostname to HOSTNAME or prompt if unspecified. __EOF__ exit $1 } # http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names valid_hostname() { # check length if [ $(echo "$1" | wc -c) -gt 255 ]; then echo "Hostname '$1' is too long." >&2 return 1 fi # check that it only contains valid chars if ! [ -z "$(echo $1 | sed 's/[0-9a-z.-]//g')" ]; then echo "Hostname must only contain letters (a-z), digits (0-9), '.' or '-'" >&2 return 1 fi # must not start with - or . case "$1" in -*) echo "Hostname must not start with a '-'" >&2; return 1;; .*) echo "Hostname must not start with a '.'" >&2; return 1;; esac return 0 } while getopts "hn:" opt; do case $opt in h) usage 0;; n) name="$OPTARG";; '?') usage "1" >&2;; esac done shift $(( $OPTIND - 1 )) if [ -z "$name" ] && [ $# -eq 1 ]; then name="$1" fi # if name is set, then we run non-interactively if [ -n "$name" ] && ! valid_hostname "$name"; then exit 1 fi HOST="$name" while [ -z "$name" ]; do HOST=$(hostname) ask "Enter system hostname (fully qualified form, e.g. 'foo.example.org')" "$HOST" if valid_hostname "$resp"; then HOST="$resp" break fi done mkdir -p "$ROOT/etc" echo "$HOST" > "$ROOT/etc/hostname" #!/bin/sh PROGRAM=setup-interfaces PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" PKGS= unconfigured_add() { touch $1.noconf } unconfigured_detect() { local i= for i in ${INTERFACES:-$(available_ifaces)}; do case "$i" in lo|docker0) continue;; esac unconfigured_add "$i" done } unconfigured_get_first() { ls *.noconf 2>/dev/null | head -n 1 | sed 's/.noconf//' } unconfigured_del() { rm -f $1.noconf } unconfigured_all_done() { local i= for i in *.noconf; do [ -e $i ] && return 1 done return 0 } unconfigured_list() { local list= i= for i in *.noconf; do [ -e "$i" ] || continue list="${list} ${i%.noconf}" done echo $list } unconfigured_isin() { [ -f $1.noconf ] } iface_exists() { test -e "$ROOT"/sys/class/net/$1 } get_default_addr() { # check if dhcpcd is running if pidof dhcpcd > /dev/null && [ -f "$ROOT/var/lib/dhcpc/dhcpcd-$1.info" ]; then echo dhcp elif iface_exists $1; then $MOCK ip addr show $1 | awk '/inet / {print $2}' | head -n 1 | sed 's:/.*::' fi } get_default_mask() { if [ "$1" ] ; then ipcalc -m $1 | sed 's/.*=//' else echo "255.255.255.0" fi } get_default_gateway() { if iface_exists $1; then $MOCK ip route show dev $1 | awk '/^default/ {print $3}' fi } ipaddr_help() { cat <<-__EOF__ Select the ip address for this interface. dhcp Dynamic/automatic ip via DHCP none Do not add any address n.n.n.n (ex: 192.168.0.1) Static ip n.n.n.n/m (ex: 192.168.0.1/24) Static ip with mask br[0-9]+ (ex: br0) Add this interface to a bridge bridge[0-9] (ex: bridge0) Add this interface to a bridge You will be prompted for netmask if not specified with the address. __EOF__ } bridge_add_port() { local bridge="$1" iface= shift for iface; do echo $iface >> $bridge.bridge_ports unconfigured_add $bridge unconfigured_del $iface done } bridge_list_ports() { if [ -r $1.bridge_ports ]; then echo $(cat $1.bridge_ports) fi } is_bridge() { test -r $1.bridge_ports } is_wifi() { test -d "$ROOT"/sys/class/net/$1/phy80211 } find_essids() { local iface="$1" export essids_list=wlans # Supports only open or PSK $MOCK ip link set dev "$iface" up (iw dev "$iface" scan; echo BSS) | awk -F": " ' /^BSS/ { if (ssid) { print ssid "/" auth }; ssid=""; auth="" } $1 ~ /^[[:blank:]]*SSID$/ { ssid=$2 } $1 ~ /Authentication suites/ { auth=$2 }' \ | grep -E -v '(802.1x|\\x00)' | sort -u >"$essids_list" if [ -s "$essids_list" ]; then # we use / as separator since it is an illegal char in ssids awk -F/ '{print NR ") " $1}' "$essids_list" else return 1 fi } config_wpa_supp() { local iface="$1" essid="$2" auth_type="$3" psk="$4" local conffile="$ROOT"/etc/wpa_supplicant/wpa_supplicant.conf mkdir -p "${conffile%/*}" if [ "$auth_type" = "WPA-PSK" ]; then (umask 0077 && wpa_passphrase "$essid" "$psk" | sed -e '/^\t#psk=.*/d' >> "$conffile") else cat << EOF >> $conffile network={ ssid="$essid" key_mgmt=$auth_type } EOF fi mkdir -p "$ROOT/etc/conf.d" if grep -q ^wpa_supplicant_args= "$ROOT"/etc/conf.d/wpa_supplicant 2>/dev/null; then sed -i -e "s/^wpa_supplicant_args=.*/wpa_supplicant_args=\"-i $iface\"/" /etc/conf.d/wpa_supplicant else printf 'wpa_supplicant_args="-i%s"\n' "$iface" >> "$ROOT"/etc/conf.d/wpa_supplicant fi rc-update --quiet add wpa_supplicant boot rc-service wpa_supplicant start } essid_is_valid() { [ -n "$1" ] && cut -d/ -f1 "$essids_list" | grep -q -w -F "$1" } is_number() { echo "$1" | grep -q -E '^[0-9]+$' } essid_by_index() { if is_number "$1"; then cut -d/ -f1 "$essids_list" | sed "$1!d" fi } wlan_is_psk() { local essid="$1" awk -F/ -v essid="$essid" '$1==essid {print $2}' "$essids_list" | grep -q -F -w 'PSK' } config_iface() { local iface="$1" local prefix="$2" local default_address="$3" local address= netmask= gateway= bridge_ports= local bridge local conf="$prefix$iface.conf" if [ -n "$ask_bridge" ] && ! is_bridge $iface \ && ask_yesno "Do you want to bridge the interface $iface? (y/n)" y; then bridge="br$(echo $iface | sed 's/[^0-9]//g')" ask "Name of the bridge you want add $iface to:" $bridge bridge_add_port $resp $iface return fi if [ -r "$iface.bridge_ports" ]; then bridge_ports=$(echo $(cat $iface.bridge_ports)) echo "bridge_ports=\"$bridge_ports\"" >> $conf fi if [ -r "$iface.bond_slaves" ]; then bond_slaves=$(echo $(cat $iface.bond_slaves)) echo "bond_slaves=\"$bond_slaves\"" >> $conf fi if [ -r "$iface.raw_device" ]; then raw_device=$(cat $iface.raw_device) echo "raw_device=\"$raw_device\"" >> $conf fi if is_wifi $iface; then apk add --quiet --no-progress iw wpa_supplicant || return local wifi_configured=false while ! $wifi_configured; do echo "Available wireless networks (scanning):" if ! find_essids $iface; then printf "\nNo available wireless networks\n" return fi local essid= auth_type="NONE" ask "Type the wireless network name to connect to:" if ! essid_is_valid "$resp"; then case "$resp" in ""|done|abort) echo "Aborting $iface setup"; return;; esac local by_index="$(essid_by_index "$resp")" if essid_is_valid "$by_index"; then resp="$by_index" else echo "Invalid SSID: $resp" continue fi fi essid="$resp" if wlan_is_psk "$essid"; then auth_type="WPA-PSK" askpass "Type the \"$essid\" network Pre-Shared Key (will not echo):" psk="$resp" fi config_wpa_supp "$iface" "$essid" "$auth_type" "$psk" && wifi_configured=true done fi # use ipcalc to validate the address. we do accept /mask # we are no interested in the result, only error code, so # we send result to /dev/null while ! ipcalc -s -m $address >/dev/null 2>&1; do address=${default_address:-$(get_default_addr $iface)} [ -z "$address" ] && address="dhcp" ask "Ip address for $iface? (or 'dhcp', 'none', '?')" $address address=$resp case "$resp" in '?') ipaddr_help;; "abort") return;; "dhcp") echo "type=dhcp" >> $conf unconfigured_del $iface return ;; "none") echo "type=manual" >> $conf unconfigured_del $iface return;; br[0-9]*|bridge[0-9]*) case "$iface" in # we dont allow bridge bridges br[0-9]*|bridge[0-9]*) continue;; esac bridge_add_port $resp $iface return ;; esac done # extract netmask if entered together with address if [ "$address" != "${address%%/*}" ]; then netmask=$(ipcalc -s -m $address | cut -d= -f2) fi # use ipcalc -m to validate netmask. we dont accept /mask suffix # so we pass on a dummy mask to ipcalc. while ! ipcalc -s -m $netmask/0 >/dev/null 2>&1; do netmask=$(get_default_mask $address) ask "Netmask?" $netmask netmask=$resp [ "$netmask" = "abort" ] && return done # use ipcalc -m to validate netmask. we dont accept /mask suffix # so we pass on a dummy mask to ipcalc. while ! ipcalc -s -m $gateway/0 >/dev/null 2>&1; do gateway=$(get_default_gateway $iface) [ -z "$gateway" ] && gateway=none ask "Gateway? (or 'none')" $gateway gateway=$resp [ "$gateway" = "abort" ] && return [ "$gateway" = "none" ] && gateway="" [ -z "$gateway" ] && break done echo "type=static" >> $conf if [ -n "$bridge_ports" ]; then echo "bridge_ports=$bridge_ports" >> $conf fi echo "address=${address%%/*}" >> $conf #strip off /mask if there echo "netmask=$netmask" >> $conf echo "gateway=$gateway" >> $conf # print summary echo "Configuration for $iface:" sed 's/^/ /' $conf unconfigured_del $iface } is_bridge() { [ -e "$ROOT"/sys/class/net/$1/bridge ] || [ -e $1.bridge_ports ] } is_bond_master() { [ -e $1.bond_slaves ] } unconfigured_available() { local local i= iflist= for i in $(unconfigured_list); do if ! is_bridge $i && ! is_bond_master $i; then iflist="${iflist}${iflist:+ }$i" fi done echo $iflist } unconfigured_all_are() { local i= for i; do unconfigured_isin $i || return 1 done return 0 } config_bridge() { local bridge="$1" iflist= i= ports= while ! unconfigured_all_done; do set -- $(unconfigured_available) [ $# -eq 0 ] && return 0; ports=$(bridge_list_ports $bridge) if [ -n "$ports" ]; then echo "Bridge ports in $bridge are: $ports" fi echo "Available bridge ports are: $@" ask "Which port(s) do you want add to bridge $bridge? (or 'done')" $1 case $resp in 'abort') return 1;; 'done') return 0;; esac for i in $resp; do if unconfigured_isin $i; then bridge_add_port $bridge $i else echo "$i is not valid" fi done done } bond_add_slave() { local master="$1" slave= shift for slave; do echo $slave >> $master.bond_slaves unconfigured_add $master unconfigured_del $slave done } bond_list_slaves() { if [ -r $1.bond_slaves ]; then echo $(cat $1.bond_slaves) fi } config_bond() { local master="$1" slaves= while ! unconfigured_all_done; do set -- $(unconfigured_available) [ $# -eq 0 ] && return 0; slaves=$(bond_list_slaves $master) if [ -n "$slaves" ]; then echo "Bond slaves in $master are: $slaves" fi echo "Available bond slaves are: $@" ask "Which slave(s) do you want add to $master? (or 'done')" $1 case $resp in 'abort') return 1;; 'done') return 0;; esac for i in $resp; do if unconfigured_isin $i; then bond_add_slave $master $i else echo "$i is not valid" fi done done } config_vlan() { local iface="$1" vid= raw_device= case $iface in *.*) raw_device=${iface%.*} vid=${iface#*.} ;; vlan*) vid=${iface#vlan} ask_which "raw device" "do you want use for $iface" "$(unconfigured_list)" echo "$resp" > $iface.raw_device return 0 ;; esac if unconfigured_isin $raw_device || is_bond_master $raw_device; then return 0 fi echo "$raw_device is not a valid raw device for $iface" return 1 } usage() { cat <<-__EOF__ usage: setup-interfaces [-abhir] [-p ROOT] Setup network interfaces options: -a Automatic interface setup using DHCP -b Ask for bridging of interfaces -h Show this help -i Read new contents of ${ROOT}etc/network/interfaces from stdin -p Set the system root to operate in -r Restart the networking service after the setup __EOF__ exit $1 } iface_help() { cat <<-__EOF__ Select the interface you wish to configure. For advanced configurations, you can also enter: br[0-9]+ (ex: br0) bridge interface bridge[0-9]+ (ex: bridge0) bridge interface bond[0-9]+ (ex: bond32) bonded interface vlan[0-9]+ (ex: vlan371) vlan interface eth?.[0-9]+ (ex: eth0.371) vlan interface bond?.[0.9]+ (ex: bond0.371) vlan interface You will be asked which physical interface(s) to be used for advanced configurations. Select 'none' to leave configuration unmodified. __EOF__ } prompt_for_interfaces() { init_tmpdir TMP cd $TMP unconfigured_detect index=1 while ! unconfigured_all_done; do echo "Available interfaces are: $(unconfigured_list)." echo "Enter '?' for help on bridges, bonding and vlans." ask "Which one do you want to initialize? (or '?' or 'done')" \ $(unconfigured_get_first) iface=$resp case "$iface" in "none") exit;; "done") break;; '?') iface_help; continue;; br[0-9]*|bridge[0-9]*|virbr[0-9]*) config_bridge $iface || continue;; bond[0-9]*.[0-9]*) config_bond ${iface%.*} || continue config_iface ${iface%.*} $(printf "%.3d~" $index) none index=$(( $index + 1 )) config_vlan $iface || continue ;; bond[0-9]*) config_bond $iface || continue;; *.[0-9]*|vlan[0-9]*) config_vlan $iface || continue;; *) unconfigured_isin $iface || continue;; esac config_iface $iface $(printf "%.3d~" $index) index=$(( $index + 1 )) done if [ "$(openrc --sys)" != "LXC" ] || ! ip addr show lo | grep -q 'inet.*127\.0'; then echo "type=loopback" > 000~lo.conf echo "" > interface fi for i in *.conf ; do iface=$(basename $i .conf) iface=${iface#[0-9]*~} bridge_ports= bond_slaves= raw_device= address= type= gateway= . ./$i echo "auto $iface" >> interfaces echo "iface $iface inet $type" >> interfaces if [ -n "$bridge_ports" ]; then PKGS="$PKGS bridge" printf "\tbridge-ports %s\n" "$bridge_ports" >> interfaces fi if [ -n "$bond_slaves" ]; then PKGS="$PKGS bonding" printf "\tbond-slaves %s\n" "$bond_slaves" >> interfaces fi if [ -n "$raw_device" ]; then printf "\tvlan-raw-device %s\n" "$raw_device" >> interfaces fi case "$iface" in *.[0-9]*|vlan[0-9]*) if ! [ -f "$ROOT"usr/libexec/ifupdown-ng/link ]; then PKGS="$PKGS vlan" fi ;; esac case $type in manual) printf "\tup ip link set \$IFACE up\n" >> interfaces printf "\tdown ip link set \$IFACE down\n" >> interfaces ;; static) printf "\taddress %s\n" "$address" >> interfaces printf "\tnetmask %s\n" "$netmask" >> interfaces [ "$gateway" ] \ && printf "\tgateway %s\n" "$gateway" >> interfaces ;; esac echo "" >> interfaces done if ask_yesno "Do you want to do any manual network configuration? (y/n)" n; then case "$EDITOR" in nano) apk add nano;; vim) apk add vim;; esac ${EDITOR:-vi} interfaces fi if [ -n "$PKGS" ]; then apk add --quiet $PKGS fi mkdir -p $ROOT/etc/network cp interfaces $ROOT/etc/network/ } find_first_iface_up() { local n=0 [ $# -eq 0 ] && return while [ $n -le ${SETUP_INTERFACES_LINK_WAIT_MAX:-11} ]; do for i in "$@"; do if [ "$(cat "$ROOT/sys/class/net/$i/operstate" 2>/dev/null)" = "up" ]; then echo "$i" return fi done sleep 0.1 n=$((n+1)) done } auto_setup() { local iface set -- $(available_ifaces) if [ $# -eq 0 ]; then return fi for iface in "$@"; do $MOCK ip link set dev "$iface" up done iface="$(find_first_iface_up "$@")" if [ -z "$iface" ]; then iface="$1" fi # we will likely use the found interface later so lets keep it up for i in "$@"; do if [ "$i" != "$iface" ]; then $MOCK ip link set dev "$i" down fi done cat >$ROOT/etc/network/interfaces <<-EOF auto lo iface lo inet loopback auto $iface iface $iface inet dhcp EOF } ask_bridge= is_xen_dom0 && ask_bridge=1 while getopts "abhip:r" opt; do case $opt in a) auto=1;; b) ask_bridge=1;; h) usage 0;; i) STDINPUT=1;; p) ROOT=$OPTARG;; r) restart=1;; '?') usage "1" >&2;; esac done if [ "$1" = none ]; then exit fi mkdir -p $ROOT/etc/network if [ "$STDINPUT" = "1" ]; then cat > $ROOT/etc/network/interfaces elif [ -n "$auto" ]; then auto_setup else prompt_for_interfaces fi if [ -n "$restart" ]; then rc-service networking --quiet restart >/dev/null fi #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" MAPDIR="$ROOT/usr/share/bkeymaps" if [ -f "$ROOT/etc/conf.d/loadkmap" ]; then . "$ROOT/etc/conf.d/loadkmap" variant=$(basename "KEYMAP") variant="${variant%%.*}" fi usage() { cat <<-__EOF__ usage: setup-keymap [-h] [LAYOUT [VARIANT]] Sets the system keymap layout and variant. options: -h Show this help Sets keymap to LAYOUT (and VARIANT) or prompt if unspecified. __EOF__ exit $1 } show_layouts() { output="" for file in "$MAPDIR"/*; do base=$(basename "$file") output="$output${base%.bmap.gz} " done print_column "$output" } show_variants() { output="" for file in "$MAPDIR/$1"/*; do base=$(basename "$file") output="$output${base%.bmap.gz} " done print_column "$output" } print_column() { if [ -z "$1" ]; then echo "Error: No data to display." >&2 return 1 fi local terminal_width=$(stty size 2>/dev/null | cut -d' ' -f2) if [ -z "$terminal_width" ] || [ "$terminal_width" -eq 0 ]; then terminal_width=80 fi max_word_length=$(echo "$1" | awk '{for(i=1;i<=NF;i++) x = (length($i) > x ? length($i) : x)} END {print x}') number_of_columns=$((terminal_width / (max_word_length + 1))) if [ "$number_of_columns" -eq 0 ]; then number_of_columns=1 fi words=$(echo $1) i=0 for word in $words; do printf "%-${max_word_length}s " "$word" i=$((i + 1)) if [ $((i % number_of_columns)) -eq 0 ]; then printf "\n" fi done if [ $((i % number_of_columns)) -ne 0 ]; then printf "\n" fi } select_layout() { while true; do if [ -z "$layout" ] || ! [ -d "$MAPDIR/$layout" ]; then layout=none fi show_layouts echo "" ask "Select keyboard layout:" "$layout" echo "" if [ "$resp" = "abort" ] || [ "$resp" = "none" ] ; then goodbye 0 fi set -- $resp layout="$1" variant="$2" if [ -d "$MAPDIR/$layout" ] ; then return 0 fi done } setup_mapfile() { local name="$(basename "$1")" local conf="$ROOT/etc/conf.d/loadkmap" mkdir -p "$ROOT/etc/keymap" mkdir -p "$ROOT/etc/conf.d/" if cp "$1" "$ROOT/etc/keymap/$name" ; then [ -f "$conf" ] && sed -i '/^KEYMAP=/d' "$conf" echo "KEYMAP=/etc/keymap/$name" >> "$conf" # we actually load the keymap now rc-service loadkmap restart rc-update -q add loadkmap boot goodbye 0 fi } select_variant() { while true; do show_variants "$layout" if [ ! -f "$MAPDIR/$layout/$variant.bmap" ] ; then variant="" fi echo "" ask "Select variant (or 'abort'):" "$variant" echo "" variant="$resp" if [ "$variant" = "abort" ] || [ "$variant" = "none" ]; then break; fi if [ -f "$MAPDIR/$layout/$variant.bmap"* ]; then setup_mapfile "$MAPDIR/$layout/$variant.bmap"* fi done } goodbye() { apk del --quiet --no-progress .setup-keymap-deps exit $1 } while getopts "h" opt; do case $opt in h) usage 0;; '?') usage "1" >&2;; esac done shift $(( $OPTIND - 1 )) trap 'goodbye 1' INT apk add --quiet --virtual .setup-keymap-deps kbd-bkeymaps deflayout="$1" defvariant="$2" while true; do if [ -n "$deflayout" ]; then if [ "$deflayout" = "none" ]; then goodbye 0 fi layout="$deflayout" unset deflayout else select_layout fi if [ -n "$defvariant" ]; then variant="$defvariant" fi # if variant is defined, this could match, otherwise we'll have to choose a variant if [ -f "$MAPDIR/$layout/$variant.bmap"* ]; then setup_mapfile "$MAPDIR/$layout/$variant.bmap"* else # if there is only one variant, just pick it count=$(ls "$MAPDIR"/"$layout" | wc -l) if [ $count -eq 1 ]; then setup_mapfile "$MAPDIR/$layout/"* continue fi select_variant fi done #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: setup-lbu [-hq] [MEDIA] Setup lbu media settings. MEDIA is optional mountpoint under /media options: -h Show this help -q Quietly pick best suggestion. Only prompts user if unsure. __EOF__ exit $1 } get_filesystem_type() { local mountpoint="$1" shift awk "\$2==\"$mountpoint\" {print \$3}" "$@" 2>/dev/null } get_dev() { local mountpoint="$1" shift awk "\$2==\"$mountpoint\" {print \$1}" "$@" 2>/dev/null } is_in_fstab() { test -n "$(get_filesystem_type $1 "$ROOT"/etc/fstab)" } is_mounted() { test -n "$(get_filesystem_type $1 "$ROOT"/proc/mounts)" } is_iso9660() { local fs for fs in $(get_filesystem_type $1 "$ROOT"/proc/mounts "$ROOT"/etc/fstab); do if [ "$fs" = "iso9660" ]; then return 0 fi done return 1 } set_media() { local media="${1%/}" # strip trailing / local mnt=/media/$media case "$media" in LABEL=*|UUID=*) mkdir -p $ROOT/media/$media;; esac if [ -d "$media" ] && [ "${media#/media/}" != "$media" ]; then mnt="$media" media=${mnt#/media/} fi if [ "$ROOT" = "/" ] && ! [ -d "$mnt" ]; then echo "$mnt: not a directory" >&2 exit 1 fi # set LBU_MEDIA in /etc/lbu/lbu.conf if [ -f "${ROOT}"etc/lbu/lbu.conf ]; then sed -e "/^\#\?[[:space:]]*LBU_MEDIA=.*/s/.*/LBU_MEDIA=$media/" \ -i "${ROOT}"etc/lbu/lbu.conf if ! egrep -q '^LBU_MEDIA=' "${ROOT}"etc/lbu/lbu.conf; then echo "LBU_MEDIA=$media" >> "${ROOT}"etc/lbu/lbu.conf fi else mkdir -p "${ROOT}"etc/lbu echo "LBU_MEDIA=$media" >> "${ROOT}"etc/lbu/lbu.conf fi # append to fstab if its missing if ! is_in_fstab $mnt; then case "$media" in LABEL=*|UUID=*) dev=$(findfs $media) ;; *) dev=$(get_dev $mnt "$ROOT"/proc/mounts) ;; esac if [ -z "$dev" ]; then echo "$media: Could not find device" >&2 exit 1 fi # get TYPE=... LABEL=... UUID=... from blkid eval $(blkid $dev | awk -F: '{print $2}') if [ -z "$TYPE" ]; then echo "$media: Could not find filesystem type" >&2 exit 1 fi if [ -n "$UUID" ]; then UUID="UUID=$UUID" fi # use LABEL= if it was specifically selected, otherwise use UUID case "$media" in LABEL=*|UUID=*) UUID="$media";; esac mkdir -p "$ROOT"/etc printf "%s\t%s\t%s\tnoauto,ro 0 0\n" "${UUID:-$dev}" "$mnt" "$TYPE" >> "$ROOT"/etc/fstab fi # hack in case we have alpine_dev mounted on /media/usbdisk but # lbu is stored on /media/usb # Otherwise we get issues when we do lbu commit. if [ "$media" = "usb" ] && is_mounted /media/usbdisk; then mount --move /media/usbdisk /media/usb elif [ "$media" = "usbdisk" ] && is_mounted /media/usb; then mount --move /media/usb /media/usbdisk fi } while getopts "hq" opt; do case $opt in h) usage 0;; q) quiet=1;; '?') usage "1" >&2;; esac done shift $(($OPTIND - 1)) # check if MEDIA option was given if [ -n "$1" ]; then if [ "$1" = "none" ]; then exit fi set_media "$1" exit fi alternatives= suggestion="none" for dir in /media/*; do [ -d "$dir" ] || continue if is_iso9660 "$dir"; then continue fi alternatives="$alternatives, '${dir#/media/}'" if is_mounted "$dir"; then suggestion=${dir#/media/} [ -n "$quiet" ] && media=$suggestion fi done if findfs "LABEL=APKOVL" >/dev/null; then suggestion="LABEL=APKOVL" case ", $alternatives, " in *"'LABEL=APKOVL'"*) ;; *) alternatives="$alternatives, 'LABEL=APKOVL'" ;; esac fi # strip leading , + space alternatives=${alternatives#, } # if nothing is mounted (or boot from cdrom) usbmnt=$(awk '$1 == "/dev/usbdisk" {print $2}' /proc/mounts) if [ -z "$suggestion" ] && [ -n "$usbmnt" ]; then suggestion=${usbmnt#/media/} if [ -n "$quiet" ] && [ -e /dev/usbdisk ]; then media=$suggestion fi fi while [ -z "$media" ]; do ask "Enter where to store configs ($alternatives or 'none')" "$suggestion" media="$resp" case "$media" in none|LABEL=*) break;; esac if [ -d "/media/$media" ]; then break fi echo "/media/$media is not a directory. Please try again." media= done if [ "$media" = "none" ]; then exit 0 fi set_media "$media" #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" conf="$ROOT/etc/ssmtp/ssmtp.conf" usage() { cat <<-EOF usage: setup-mta [-h] [SMTPSERVER] Setup SMTP server for outgoing email options: -h Show this help If SMTPSERVER is not prompted user will be prompted EOF exit $1 } cfgval() { awk -F= "/^$1/ {print \$2}" $conf 2>/dev/null } setcfg() { local key="$1" local value="$2" mkdir -p "${conf%/*}" sed -i "s/^\\(\\#\\)*$key=.*/$key=$value/" "$conf" 2>/dev/null if ! grep -q "^$key=" "$conf" 2>/dev/null; then echo "$key=$value" >> "$conf" fi } while getopts "h" opt; do case $opt in h) usage 0;; '?') usage "1" >&2;; esac done shift $(( $OPTIND - 1 )) mailhub="$1" if [ -f "$conf" ] ; then mailhub=$(cfgval mailhub) fi domain=$(hostname -d $hostname 2>/dev/null) if [ -z "$mailhub" ] ;then if [ -n "$domain" ] ; then mailhub="smtp.$domain" else mailhub=smtp fi fi res= while [ $# -eq 0 ] && [ "$res" != "221" ]; do ask "Outgoing mail server? (e.g 'smtp.isp.com')" "$mailhub" mailhub="$resp" if ! ask_yesno "Test connection? (y/n)" y; then break fi res=$(printf "quit\r\n\n" | nc $mailhub 25 | awk '/^221/ {print $1}') [ "x$res" = "x221" ] && echo "Connection to $mailhub is ok." done apk add ssmtp setcfg mailhub $mailhub setcfg FromLineOverride YES #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat >&$(( $1 + 1 ))<<-__EOF__ usage: setup-ntp [-h] [busybox|openntpd|chrony|none] Setup NTP time synchronization options: -h Show this help User is prompted if no NTP daemon is specified __EOF__ exit $1 } while getopts "hc:" opt; do case $opt in c) resp="$OPTARG";; h) usage 0;; '?') usage 1;; esac done shift $(( $OPTIND - 1 )) : ${resp:=$1} while [ $# -eq 0 ] && ! isin "$resp" busybox openntpd chrony none abort; do if date -d "$resp" >/dev/null 2>&1; then $MOCK date -s "$resp" else # display current time before asking for NTP client date fi ask "Which NTP client to run? ('busybox', 'openntpd', 'chrony' or 'none')" chrony done pkgs="$resp" case "$resp" in none|abort) exit 0 ;; busybox) pkgs='' svc=ntpd ;; chrony) if apk info --installed --quiet acf-core; then pkgs="$pkgs acf-chrony" fi svc=chronyd ;; openntpd) svc=openntpd ;; *) echo "setup-ntp: '$resp' is not a supported NTP client" >&2 usage 1 ;; esac [ -z "$pkgs" ] || apk add --quiet $pkgs rc-update add $svc default rc-service $svc start #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: setup-proxy [-hq] [PROXYURL] Setup http proxy options: -h Show this help -q Quiet mode If PROXYURL is not specified user will be prompted. __EOF__ exit $1 } while getopts "hp:q" opt; do case "$opt" in q) quiet=1;; h) usage 0;; p) ROOT=$OPTARG;; '?') usage "1" >&2;; esac done shift $(( $OPTIND - 1)) proxyurl="$1" PROFILE="$ROOT/etc/profile.d/proxy.sh" if [ -f "$PROFILE" ] ; then . $PROFILE fi suggest=${http_proxy:-none} while [ $# -eq 0 ]; do case "$proxyurl" in http://*|https://*) break;; none) break;; esac ask "HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none')" $suggest proxyurl=$resp done if [ "$proxyurl" = "none" ]; then rm -f "$PROFILE" else mkdir -p "${PROFILE%/*}" cat >"$PROFILE" <<-__EOF__ # this file was generated with and might get overwritten by setup-proxy export http_proxy=$proxyurl export https_proxy=$proxyurl export ftp_proxy=$proxyurl export no_proxy=localhost __EOF__ # busybox wget does not handle http proxies well apk add --quiet --no-progress wget fi if [ -z "$quiet" ] && [ "$proxyurl" != "none" ]; then cat <<-__EOF__ To make changes active please do login again or source $PROFILE with ". $PROFILE" __EOF__ fi #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: setup-sshd [-h] [-k authorized key] [openssh | dropbear | none] Setup sshd daemon options: -h Show this help -k Authorized key for root (HTTP(S)/FTP URL, the public key itself or 'none') __EOF__ exit $1 } root_login_help() { cat <<-__EOF__ Valid options are: yes root will be able to login with password or ssh key no root will not be allowed to login with ssh prohibit-password root will be able to login with ssh key but not with password __EOF__ } set_sshd_config() { local key="$1" value="$2" sed -i -E -e "s/^#?\s*$key.*/$key $value/" \ "$ROOT"/etc/ssh/sshd_config 2>/dev/null if ! grep -q -w "^$key" "$ROOT"/etc/ssh/sshd_config; then echo "$key $value" >> "$ROOT"/etc/ssh/sshd_config fi } get_sshd_config() { local key="$1" value="$2" awk -v key="$key" '$1 == key {print $2}' "$ROOT"/etc/ssh/sshd_config } authorized_key="$SSH_KEY" while getopts "hc:k:" opt; do case $opt in h) usage 0;; c) sshdchoice="$OPTARG";; # backwards compat k) authorized_key="$OPTARG";; '?') usage "1" >&2;; esac done shift $(( $OPTIND - 1 )) case "$1" in openssh|dropbear|none) sshdchoice="$1" ;; "") [ -z "$sshdchoice" ] && interactive=1;; *) usage "1" >&2;; esac while [ -n "$interactive" ] && ! isin "$sshdchoice" openssh dropbear none; do ask "Which ssh server? ('openssh', 'dropbear' or 'none')" openssh sshdchoice="$resp" done if [ "$sshdchoice" = "none" ]; then exit 0 fi pkgs="$sshdchoice" if [ "$sshdchoice" = "openssh" ] && apk info --quiet --installed acf-core; then pkgs="$pkgs acf-openssh" fi apk add --quiet $pkgs users=$(awk -F: '{if ($3<65000 && $3 >= 1000) print $1}' \ "$ROOT"/etc/passwd 2>/dev/null) if [ "$sshdchoice" = "openssh" ] && [ -z "$authorized_key" ] && [ -z "$users" ]; then suggest=prohibit-password while [ -n "$interactive" ]; do ask "Allow root ssh login? ('?' for help)" "$suggest" case "$resp" in '?') root_login_help continue ;; "al "*) suggest="https://gitlab.alpinelinux.org/${resp#* }.keys" continue ;; "gl "*) suggest="https://gitlab.com/${resp#* }.keys" continue ;; "gh "*) suggest="https://github.com/${resp#* }.keys" continue ;; yes|no|prohibit-password) set_sshd_config PermitRootLogin "$resp" break ;; http://*|https://*) authorized_key="$(wget -qO- "$resp")" || { echo "Failed to fetch key from '$resp'" continue } break ;; esac done suggest=none while [ -n "$interactive" ] && [ "$(get_sshd_config PermitRootLogin)" != "no" ]; do ask "Enter ssh key or URL for root (or 'none')" "$suggest" case "$resp" in "al "*) suggest="https://gitlab.alpinelinux.org/${resp#* }.keys" continue ;; "gl "*) suggest="https://gitlab.com/${resp#* }.keys" continue ;; "gh "*) suggest="https://github.com/${resp#* }.keys" continue ;; http://*|https://*) authorized_key="$(wget -qO- "$resp")" || { echo "Failed to fetch key from '$resp'" continue } break ;; none) break ;; *) if printf "%s\n" "$resp" | ssh-keygen -l -f - >/dev/null; then authorized_key="$resp" break fi ;; esac done fi # ask "Enter ssh key or URL for $username (or 'none')" none svc= case "$sshdchoice" in openssh) svc=sshd;; dropbear) svc=dropbear;; esac if [ -n "$svc" ]; then rc-update add $svc default rc-service $svc start fi if [ -n "$authorized_key" -a "$authorized_key" != "none" ]; then # if the argument is an HTTP(S)/FTP URL, try to fetch the file contents case "$authorized_key" in http*://*|ftp://*) key_url="$authorized_key" authorized_key="$(wget -qO- "$key_url")" || die "Failed to fetch key from '$key_url'" ;; esac umask 077 mkdir -p "$ROOT"/root/.ssh echo "$authorized_key" >> "$ROOT"/root/.ssh/authorized_keys fi #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" zroot="$ROOT"usr/share/zoneinfo usage() { cat <<-__EOF__ usage: setup-timezone [-h] [-k|-i] [TIMEZONE] Sets the timezone for the system. options: -h Show this help -i Install tzdata and symlink instead of making a copy -k Keep previous copies of tzdata TIMEZONE is relative $zroot. If TIMEZONE is not specified user will be prompted. __EOF__ exit $1 } show_tz_list() { local i z= list= local path="$zroot/$1" [ -d "$path" ] || return 1 for i in $(find $path/ -maxdepth 1); do case $i in *.tab|*/) continue;; esac if [ -d "$i" ]; then z="$z ${i##*/}/" else z="$z ${i##*/}" fi done ( cd $path && ls --color=never -Cd $z ) } setup_tz() { local zonepath="$1" if ! $INSTALL_TZDATA; then local zone="${zonepath#*/zoneinfo/}" local zdir="${zonepath%/*}"/ zdir="${zdir#*/zoneinfo/}" if ! $KEEP_TZDATA; then rm -rf "${ROOT}"etc/zoneinfo fi mkdir -p "${ROOT}"etc/zoneinfo/$zdir cp "$zonepath" "${ROOT}"etc/zoneinfo/$zdir/ zonepath=/etc/zoneinfo/$zone fi rm -f "${ROOT}"etc/localtime ln -s "$zonepath" "${ROOT}"etc/localtime } INSTALL_TZDATA=false KEEP_TZDATA=false while getopts "hikz:" opt; do case $opt in h) usage 0;; i) INSTALL_TZDATA=true;; k) KEEP_TZDATA=true;; z) ZONE="$OPTARG";; # backwards compat '?') usage "1" >&2;; esac done shift $(( $OPTIND - 1)) if [ -z "$ZONE" ]; then ZONE="$1" fi if [ "$ZONE" = "none" ]; then exit 0 fi if $INSTALL_TZDATA; then pkg=tzdata apkdel= else pkg="--force --virtual .setup-timezone tzdata" apkdel=".setup-timezone" fi apk add --no-progress --quiet $pkg || die "Failed to install tzdata package" if [ -n "$apkdel" ]; then trap "exit 1" INT TERM HUP trap "apk del --no-progress --quiet $apkdel" EXIT fi if [ -L "${ROOT}"etc/zoneinfo/localtime ]; then default_timezone=$(readlink "${ROOT}"etc/zoneinfo/localtime) default_timezone=${timezone#*/zoneinfo/} else default_timezone=UTC fi if [ -n "$ZONE" ]; then [ -f "$zroot/$ZONE" ] || die "'$ZONE' is not a valid timezone on this system" setup_tz "$zroot"/"$ZONE" else while true; do show_tz_list echo "" ask "Which timezone are you in? (or '?' or 'none')" "$default_timezone" timezone=$(printf %s "$resp" | sed 's/\/\+/\//g; s/\/$//') case "$timezone" in none|abort) break;; ""|"?") continue;; esac while [ -d "$zroot/$timezone" ]; do show_tz_list "$timezone" echo "" ask "What sub-timezone of '$timezone' are you in? (or '?')" zone=$(printf %s "$resp" | sed 's/\/\+/\//g; s/\/$//') case "$zone" in ""|"?") continue;; esac default_timezone="$timezone" timezone="$timezone/$zone" done if [ -f "$zroot/$timezone" ]; then setup_tz "$zroot/$timezone" break fi echo "'$timezone' is not a valid timezone on this system" done fi #!/bin/sh PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" usage() { cat <<-__EOF__ usage: setup-user [-h] [-a] [-u] [-f FULLNAME] [-g GROUPS] [-k SSHKEY] [USERNAME] Create user account options: -a Create admin user. Add to wheel group and set up doas -h Show this help -f Set full name for user -g Comma or space separated list of groups to add user to -k ssh key or URL to ssh key (eg. https://gitlab.alpinelinux.org/user.keys) or 'none' for no key -u Unlock the user automatically (eg. creating the user non-interactively with an ssh key for login) If USERNAME is not specified user will be prompted. __EOF__ exit $1 } filter_ssh_keys() { grep -E '^(ecdsa|rsa|ssh)-' } retrieve_ssh_keys() { wget -q -O - "$1" | filter_ssh_keys } contains_ssh_key() { echo "$1" | filter_ssh_keys > /dev/null } while getopts "af:g:hk:u" opt; do case $opt in a) admin=1;; h) usage 0;; f) fullnameopt="$OPTARG";; g) groups="$OPTARG";; k) keysopt="$OPTARG";; u) forceunlock=1;; '?') usage "1" >&2;; esac done shift $(($OPTIND - 1)) if [ -z "$admin$fullnameopt$groups$keysopt$forceunlock" ] && [ "$1" = "none" ]; then exit 0 fi if [ $# -gt 1 ]; then usage "1" >&2 elif [ $# -eq 1 ]; then username="$1" else interactive=1 fi while true; do fullname="$fullnameopt" if [ -n "$interactive" ] && [ -z "$username" ]; then if [ -n "$fullname" ]; then suggest=${fullname:+$(echo "$fullname" | sed -E 's/^(.).*\s+(.*)/\1\2/' | tr '[:upper:]' '[:lower:]')} else suggest=no fi # dont suggest something that has failed before if [ "$suggest" = "$failed_username" ]; then suggest= fi ask "Setup a user? (enter a lower-case loginname, or 'no')" $suggest case "$resp" in no) exit 0;; *) username="$resp";; esac fi if [ -n "$interactive" ] && [ -z "$fullnameopt" ]; then ask "Full name for user $username" ${lastfullname:-$username} fullname="$resp" lastfullname="$resp" fi if [ -n "$fullname" ]; then adduser -g "$fullname" -D "$username" && break else adduser -D "$username" && break fi if ! [ -n "$interactive" ]; then exit 1 fi failed_username="$username" username= done while [ -n "$interactive" ] && ! $MOCK passwd "$username"; do echo "Please retry." done if [ -n "$interactive" ] && [ -z "$keysopt" ]; then suggest=none while true; do ask "Enter ssh key or URL for $username (or 'none')" $suggest case "$resp" in al) suggest="https://gitlab.alpinelinux.org/$username.keys" continue ;; gl) suggest="https://gitlab.com/$username.keys" continue ;; gh) suggest="https://github.com/$username.keys" continue ;; none) break ;; https://*|http://*) sshkeys=$(retrieve_ssh_keys "$resp") ;; *) sshkeys="$resp" ;; esac if contains_ssh_key "$sshkeys"; then break fi echo "Did not find any key in '$resp'" done else case "$keysopt" in https://*|http://*) sshkeys=$(retrieve_ssh_keys "$keysopt");; none) sshkeys="" ;; *) sshkeys="$keysopt";; esac if [ -n "$sshkeys" ] && ! contains_ssh_key "$sshkeys"; then echo "Could not find any keys in '$resp'" >&2 exit 1 fi fi if [ -n "$sshkeys" ] && [ "$sshkeys" != "none" ]; then ssh_directory="$ROOT"/home/$username/.ssh ( umask 077 mkdir -p "$ssh_directory" echo "$sshkeys" > "$ssh_directory"/authorized_keys ) $MOCK chown -R $username:$username "$ssh_directory" fi if [ -n "$groups" ] && [ "$groups" != "none" ]; then for i in $(echo $groups | tr ',' ' '); do $MOCK addgroup "$username" "$i" || exit done fi if [ -n "$admin" ]; then apk add doas mkdir -p "$ROOT"/etc/doas.d echo "permit persist :wheel" >> "$ROOT"/etc/doas.d/doas.conf $MOCK addgroup "$username" "wheel" || exit fi if [ -n "$forceunlock" ]; then $MOCK passwd -u "$username" || exit fi #!/bin/sh usage() { cat <<-__EOF__ usage: setup-wayland-base [-h] [PKG..] Set up system to use Wayland options: -h Show this help Installs and enables elogind, enables community repository, enable udev and install the packages PKG if specified. __EOF__ exit $1 } while getopts "h" opt; do case $opt in h) usage 0;; '?') usage "1" >&2;; esac done shift $(($OPTIND - 1)) # For every main/ repo, enable corresponding community/ repo setup-apkrepos -o apk add elogind polkit-elogind eudev "$@" setup-devd udev for service in elogind polkit; do rc-service "$service" start rc-update add "$service" done #!/bin/sh # simple script to setup basic xen dom0 # kernel modules mkdir -p "$ROOT"/etc for mod in xen_netback xen_blkback xenfs xen_pciback xen_wdt tun; do if $MOCK modprobe $mod; then grep -q -w $mod "$ROOT"/etc/modules 2>/dev/null || echo $mod >> "$ROOT"/etc/modules fi done # install packages apk add --quiet xen $@ # setup and start services for svc in xenstored xenconsoled xenqemu; do if rc-service --exist "$svc"; then rc-update --quiet add "$svc" default rc-service "$svc" start fi done #!/bin/sh usage() { cat <<-__EOF__ usage: setup-xorg-base [-h] [PKG..] Set up system to use Xorg options: -h Show this help Installs xorg-server, enables community repository, enable udev and install the packages PKG if specified. __EOF__ exit $1 } while getopts "h" opt; do case $opt in h) usage 0;; '?') usage "1" >&2;; esac done shift $(($OPTIND - 1)) # For every main/ repo, enable corresponding community/ repo setup-apkrepos -o apk add xorg-server xf86-input-libinput xinit eudev mesa-dri-gallium "$@" setup-devd udev #!/bin/sh VERSION=3.19.2-r0 PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" # set up temp dir init_tmpdir TMPD LBUCACHE="$TMPD/lbucache" usage() { cat <<-__EOF__ $PROGRAM $VERSION usage: $PROGRAM [-a|--all] [-i|--initd] [-l|--list] [-h|--help] options: -a, --all Select all updated files -i, --initd Use all new init.d scripts -l, --list List updated files -h, --help Show this help __EOF__ exit $1 } is_modified() { [ -f "$LBUCACHE" ] || lbu status -a | awk '{print $2}' > "$LBUCACHE" test -n "$( ( echo "$1" ; cat "$LBUCACHE" ) | sort | uniq -d)" } is_initd() { echo "$1" | grep etc/init.d/ > /dev/null } args=$(getopt -o ailh --long all,initd,list,help -n "$PROGRAM" -- "$@") if [ $? -ne 0 ]; then usage "1" >&2 fi eval set -- "$args" while true; do case $1 in -a|--all) aflag="-a";; -i|--initd) iflag="-i";; -l|--list) lflag="-l";; -h|--help) usage 0;; --) shift; break;; '?') usage "1" >&2;; esac shift done if which vimdiff >/dev/null; then vflag=", Vimdiff old new" vflag2="/v" fi for apknew in $(find "$ROOT/etc" -name '*.apk-new') ; do p="${apknew%.apk-new}" f="${p#${ROOT}/}" if [ "$lflag" ] ; then # just list the file if [ "$aflag" ] || is_modified "$f" ; then echo "$p" fi elif [ "$aflag" ] || is_modified "$f" ; then if [ "$iflag" ] && is_initd "$f" ; then echo "Autoupdating $p" mv "$apknew" "$p" continue fi diff -u "$p" "$apknew" # ask user what to do with the file unset resp while [ -z "$resp" ] ; do echo "New $p available:" ask "Quit, Next, Show diff, Edit new${vflag}, Zap new, Use new (q/n/s/e${vflag2}/z/u)" s case "$resp" in q) exit;; n) continue;; s) diff -u "$p" "$apknew" | ${PAGER:-less} unset resp ;; e) ${EDITOR:-vi} "$apknew" ; unset resp;; v) if [ "$vflag" ]; then vimdiff "$p" "$apknew" fi unset resp;; z) rm "$apknew";; u) mv "$apknew" "$p";; *) unset resp;; esac done else # auto update echo "Autoupdating unchanged $p" mv "$apknew" "$p" fi done #!/bin/sh -e # update-kernel # # Kernel and firmware update script for Alpine installations set up # with setup-bootable # # Copyright (c) 2014 Timo Teräs # Copyright (c) 2014-2021 Kaarle Ritvanen PREFIX=/usr : ${LIBDIR=$PREFIX/lib} . "$LIBDIR/libalpine.sh" SCRIPT=update-kernel VIRTUAL=.tmp-$SCRIPT SUPERUSER= [ $(id -u) -eq 0 ] && SUPERUSER=Y if [ -z "$SUPERUSER" ] && [ -z "$FAKEROOTKEY" ]; then exec fakeroot "$0" "$@" fi ARCH= BUILDDIR= FLAVOR= MEDIA= MNTDIR= PACKAGES= MKINITFS_ARGS= REPOSITORIES_FILE=/etc/apk/repositories KEYS_DIR=/etc/apk/keys CACHE_DIR=/etc/apk/cache SIGNALS="HUP INT TERM" tmpdir= features= modloopfw= error() { echo "$SCRIPT: $1" >&2 } usage() { [ "$2" ] && error "$2" $outfh local opts="[-F ]... [-p ]..." local dest_args="[-a ] " local outfh=2 [ $1 -eq 0 ] && outfh=1 cat >&$outfh <<-__EOF__ usage: $SCRIPT $opts [$dest_args] $SCRIPT -f $opts $dest_args $SCRIPT -b $opts [$dest_args] Options: -a|--arch Install kernel for specified architecture -b|--build-dir

Install custom-built kernel -e|--modloopfw Install extra firmware in modloop -f|--flavor Install kernel of specified flavor -F|--feature Enable initfs feature -p|--package Additional module or firmware package -s|--modloopsign Sign modloop with abuild key -v|--verbose Verbose output -k|--apk-pubkey Include given key in initramfs -K|--hostkeys Include host keys in initramfs -C|--compression Initramfs compression (see mkinitfs for options) -M|--media Boot media directory layout -d|--keys-dir Override directory of trusted keys for apk -c|--cache-dir Override cache directory --repositories-file apk repositories file On low-memory systems, you may want to point the TMPDIR environment variable to a storage-backed directory. __EOF__ exit $1 } QUIET_OPT="--quiet" OPTS=$(getopt -l arch:,build-dir:,flavor:,feature:,modloopfw:,help,package:,modloopsign,verbose,apk-pubkey:,hostkeys,compression:,media,repositories-file:,keys-dir:,cache-dir: \ -n $SCRIPT -o a:b:f:F:hp:svk:KC:Md:c: -- "$@") || usage 1 eval set -- "$OPTS" while :; do case "$1" in -a|--arch) shift ARCH=$1 ;; -b|--build-dir) shift BUILDDIR=$1 ;; -f|--flavor) shift FLAVOR=$1 ;; -F|--feature) shift features="$features $1" ;; -e|--modloopfw) shift modloopfw="$modloopfw $1" ;; -h|--help) echo "$SCRIPT 3.19.2-r0" usage 0 ;; -p|--package) shift PACKAGES="$PACKAGES $1" ;; -s|--modloopsign) MODLOOPSIGN=1 ;; -v|--verbose) QUIET_OPT= ;; -k|--apk-pubkey) shift APK_PUBKEY="$1" ;; -K|--hostkeys) MKINITFS_ARGS="$MKINITFS_ARGS -K" ;; -C|--compression) shift MKINITFS_ARGS="$MKINITFS_ARGS -C $1" ;; -M|--media) MEDIA=yes ;; -d|--keys-dir) shift KEYS_DIR="$1" ;; -c|--cache-dir) shift CACHE_DIR="$1" ;; --repositories-file) shift REPOSITORIES_FILE=$1 ;; --) break ;; esac shift done DESTDIR=$2 [ "$BUILDDIR" -a "$FLAVOR" ] && \ usage 1 "Cannot specify both build directory and flavor" if [ -z "$DESTDIR" ]; then [ "$ARCH" ] && \ usage 1 "Cannot specify architecture when updating the current kernel" [ "$FLAVOR" ] && \ usage 1 "Cannot specify flavor when updating the current kernel" [ "$SUPERUSER" ] || \ usage 1 "Specify destination directory or run as superuser" while read MOUNT; do set -- $MOUNT [ $2 = /.modloop ] || continue DESTDIR=$(dirname $(busybox losetup $1 | cut -d " " -f 3)) MNTDIR=$(dirname "$DESTDIR") break done < /proc/mounts if [ -z "$MNTDIR" ]; then error "Module loopback device not mounted" exit 1 fi fi remount() { mount $1 -o remount "$MNTDIR" } ignore_sigs() { trap "" $SIGNALS } clean_up() { set +e ignore_sigs if [ "$SUPERUSER" ] && [ -z "$FAKEROOTKEY" ]; then apk del $QUIET_OPT $VIRTUAL fi rm -fr $tmpdir } sign_modloop() { local in="$1" local abuild_conf="${ABUILD_CONF:-"/etc/abuild.conf"}" [ -f "$abuild_conf" ] && . "$abuild_conf" local abuild_home="${ABUILD_USERDIR:-"$HOME/.abuild"}" local abuild_userconf="${ABUILD_USERCONF:-"$abuild_home/abuild.conf"}" [ -f "$abuild_userconf" ] && . "$abuild_userconf" local privkey="$PACKAGER_PRIVKEY" local pubkey="${PACKAGER_PUBKEY:-"${privkey}.pub"}" MODLOOPSIG=${in##*/}.SIGN.RSA.${pubkey##*/} echo "Signing: $in" openssl dgst -sha1 -sign "$privkey" \ -out "$tmpdir/$MODLOOPSIG" \ "$in" } trap clean_up EXIT $SIGNALS if [ "$SUPERUSER" ] && [ -z "$FAKEROOTKEY" ]; then apk add $QUIET_OPT --update-cache -t $VIRTUAL mkinitfs squashfs-tools kmod fi if [ -z "$features" ]; then . "$ROOT"/etc/mkinitfs/mkinitfs.conf fi if [ -z "$FLAVOR" ]; then FLAVOR=$(uname -r | cut -d - -f 3-) [ "$FLAVOR" ] || FLAVOR=vanilla fi [ "$ARCH" ] || ARCH=$(apk --print-arch) tmpdir=$(mktemp -dt $SCRIPT.XXXXXX) ROOTFS=$tmpdir/root BOOT=$ROOTFS/boot CACHE_DIR_OPT="--cache-dir $CACHE_DIR" if ! [ -e "$CACHE_DIR" ]; then CACHE_DIR_OPT= fi _apk() { local cmd="$1" shift apk $cmd $QUIET_OPT $CACHE_DIR_OPT -p $ROOTFS --arch "$ARCH" \ --keys-dir $KEYS_DIR \ --repositories-file "$REPOSITORIES_FILE" $* } extra_pkgs() { local res="$(_apk search -x $1)" if [ "$res" ]; then echo $* fi } # set up the root and get the APKINDEX for search _apk add --initdb --update-cache if [ "$BUILDDIR" ]; then case "$ARCH" in arm*|aarch64*) _install="zinstall dtbs_install" ;; riscv64) _install="zinstall dtbs_install" ;; *) _install="install" ;; esac mkdir -p $BOOT make -C "$BUILDDIR" $_install firmware_install modules_install \ INSTALL_MOD_PATH=$ROOTFS \ INSTALL_PATH=$BOOT \ INSTALL_DTBS_PATH='$ROOTFS/usr/lib/linux-$(KERNELRELEASE)' else if [ -z "$PACKAGES" ]; then PACKAGES="$(extra_pkgs "xtables-addons-$FLAVOR")" fi PACKAGES="$PACKAGES linux-$FLAVOR linux-firmware" fi _apk add --no-scripts alpine-base $PACKAGES if [ -n "$APK_PUBKEY" ]; then mkdir -p "$ROOTFS"/etc/apk/keys cp "$APK_PUBKEY" "$ROOTFS"/etc/apk/keys/ fi KVER_FLAVOR= [ "$FLAVOR" = vanilla ] || KVER_FLAVOR=-$FLAVOR KVER=$(basename $(ls -d $ROOTFS/lib/modules/*"$KVER_FLAVOR")) DTBDIR=$ROOTFS/boot/dtbs-$FLAVOR [ -d "$DTBDIR" ] || DTBDIR=$ROOTFS/usr/lib/linux-$KVER [ -d "$DTBDIR" ] || DTBDIR=$ROOTFS/boot find $ROOTFS/lib/modules \ -name \*.ko.gz -exec gunzip {} + \ -o -name \*.ko.xz -exec unxz {} + \ -o -name \*.ko.zst -exec unzstd --rm {} + \ -o ! -name '' # don't fail if no files found. busybox find doesn't support -true $MOCK depmod -b $ROOTFS "$KVER" STAGING=$tmpdir/boot MODLOOP=$tmpdir/modloop MODIMG=modloop-$FLAVOR mkdir $MODLOOP $STAGING cp -a $ROOTFS/lib/modules $MODLOOP mkdir -p $MODLOOP/modules/firmware find $ROOTFS/lib/modules -type f -name "*.ko*" | xargs modinfo -k $KVER -F firmware | sort -u | while read FW; do for f in "$ROOTFS"/lib/firmware/$FW "$ROOTFS"/lib/firmware/$FW.xz "$ROOTFS"/lib/firmware/$FW.zst; do if ! [ -e "$f" ]; then continue fi install -pD "$f" "$MODLOOP/modules/firmware/${f#*/lib/firmware}" # copy also all potentially associated files f=${f%.zst} f=${f%.xz} for _file in "${f%.*}".*; do install -pD "$_file" "$MODLOOP/modules/firmware/${_file#*/lib/firmware/}" done done done # install extra firmware files in modloop (i.e. not detected by modinfo) for _xfw in $modloopfw; do if [ -f "$ROOTFS/lib/firmware/$_xfw" ]; then install -pD "$ROOTFS/lib/firmware/$_xfw" \ "$MODLOOP"/modules/firmware/"$_xfw" else echo "Warning: extra firmware \"$_xfw\" not found!" fi done # wireless regulatory db if [ -e "$ROOTFS"/lib/modules/*/kernel/net/wireless/cfg80211.ko* ]; then _apk add --no-scripts wireless-regdb for _regdb in "$ROOTFS"/lib/firmware/regulatory.db*; do [ -e "$_regdb" ] && install -pD "$_regdb" "$MODLOOP"/modules/firmware/"${_regdb##*/}" done fi # include bluetooth firmware in modloop if [ -e "$ROOTFS"/lib/modules/*/kernel/drivers/bluetooth/btbcm.ko* ]; then for _btfw in "$ROOTFS"/lib/firmware/brcm/*.hcd*; do install -pD "$_btfw" \ "$MODLOOP"/modules/firmware/brcm/"${_btfw##*/}" done fi case $ARCH in armhf) mksfs="-Xbcj arm" ;; armv7|aarch64) mksfs="-Xbcj arm,armthumb" ;; x86|x86_64) mksfs="-Xbcj x86" ;; *) mksfs= esac mksquashfs $MODLOOP "$STAGING/$MODIMG" $MKSQUASHFS_OPTS -comp xz -exit-on-error $mksfs if [ -n "$MODLOOPSIGN" ]; then sign_modloop "$STAGING/$MODIMG" MKINITFS_ARGS="$MKINITFS_ARGS -s $tmpdir/$MODLOOPSIG" fi $MOCK mkinitfs $MKINITFS_ARGS -q -b $ROOTFS -F "$features base squashfs" \ -o "$STAGING/initramfs-$FLAVOR" "$KVER" for file in System.map config vmlinuz; do cp "$BOOT/$file-$KVER" "$STAGING" 2>/dev/null \ || cp "$BOOT/$file-$FLAVOR" "$STAGING" 2>/dev/null \ || cp "$BOOT/$file" "$STAGING" 2>/dev/null \ || { echo "Failed to copy $file-$KVER, $file-$FLAVOR or $file" >&2; exit 1; } done if [ "$MNTDIR" ]; then ignore_sigs umount /.modloop remount -w fi mkdir -p "$DESTDIR"/${MEDIA:+boot/} mv $STAGING/* "$DESTDIR"/${MEDIA:+boot/} if [ -d "$DTBDIR" ]; then _opwd=$PWD case "$MEDIA,$FLAVOR" in yes,rpi*) _dtb="$DESTDIR/" ;; yes,*) _dtb="$DESTDIR/boot/dtbs-$FLAVOR" ;; *,*) _dtb="$DESTDIR/dtbs/dtbs-$FLAVOR" ;; esac mkdir -p "$_dtb" _dtb=$(realpath "$_dtb") cd "$DTBDIR" find -type f \( -name "*.dtb" -o -name "*.dtbo" \) | cpio -pudm "$_dtb" 2> /dev/null cd "$_opwd" fi if [ "$MNTDIR" ]; then set +e sync remount -r mount -o loop "$DESTDIR/$MODIMG" /.modloop fi exit 0 -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1yHJxQgsHQREclQu4Ohe qxTxd1tHcNnvnQTu/UrTky8wWvgXT+jpveroeWWnzmsYlDI93eLI2ORakxb3gA2O Q0Ry4ws8vhaxLQGC74uQR5+/yYrLuTKydFzuPaS1dK19qJPXB8GMdmFOijnXX4SA jixuHLe1WW7kZVtjL7nufvpXkWBGjsfrvskdNA/5MfxAeBbqPgaq0QMEfxMAn6/R L5kNepi/Vr4S39Xvf2DzWkTLEK8pcnjNkt9/aafhWqFVW7m3HCAII6h/qlQNQKSo GuH34Q8GsFG30izUENV9avY7hSLq7nggsvknlNBZtFUcmGoQrtx3FmyYsIC8/R+B ywIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvNijDxJ8kloskKQpJdx+ mTMVFFUGDoDCbulnhZMJoKNkSuZOzBoFC94omYPtxnIcBdWBGnrm6ncbKRlR+6oy DO0W7c44uHKCFGFqBhDasdI4RCYP+fcIX/lyMh6MLbOxqS22TwSLhCVjTyJeeH7K aA7vqk+QSsF4TGbYzQDDpg7+6aAcNzg6InNePaywA6hbT0JXbxnDWsB+2/LLSF2G mnhJlJrWB1WGjkz23ONIWk85W4S0XB/ewDefd4Ly/zyIciastA7Zqnh7p3Ody6Q0 sS2MJzo7p3os1smGjUF158s6m/JbVh4DN6YIsxwl2OjDOz9R0OycfJSDaBVIGZzg cQIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr8s1q88XpuJWLCZALdKj lN8wg2ePB2T9aIcaxryYE/Jkmtu+ZQ5zKq6BT3y/udt5jAsMrhHTwroOjIsF9DeG e8Y3vjz+Hh4L8a7hZDaw8jy3CPag47L7nsZFwQOIo2Cl1SnzUc6/owoyjRU7ab0p iWG5HK8IfiybRbZxnEbNAfT4R53hyI6z5FhyXGS2Ld8zCoU/R4E1P0CUuXKEN4p0 64dyeUoOLXEWHjgKiU1mElIQj3k/IF02W89gDj285YgwqA49deLUM7QOd53QLnx+ xrIrPv3A+eyXMFgexNwCKQU9ZdmWa00MjjHlegSGK8Y2NPnRoXhzqSP9T9i2HiXL VQIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlzMkl7b5PBdfMzGdCT0 cGloRr5xGgVmsdq5EtJvFkFAiN8Ac9MCFy/vAFmS8/7ZaGOXoCDWbYVLTLOO2qtX yHRl+7fJVh2N6qrDDFPmdgCi8NaE+3rITWXGrrQ1spJ0B6HIzTDNEjRKnD4xyg4j g01FMcJTU6E+V2JBY45CKN9dWr1JDM/nei/Pf0byBJlMp/mSSfjodykmz4Oe13xB Ca1WTwgFykKYthoLGYrmo+LKIGpMoeEbY1kuUe04UiDe47l6Oggwnl+8XD1MeRWY sWgj8sF4dTcSfCMavK4zHRFFQbGp/YFJ/Ww6U9lA3Vq0wyEI6MCMQnoSMFwrbgZw wwIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3v8/ye/V/t5xf4JiXLXa hWFRozsnmn3hobON20GdmkrzKzO/eUqPOKTpg2GtvBhK30fu5oY5uN2ORiv2Y2ht eLiZ9HVz3XP8Fm9frha60B7KNu66FO5P2o3i+E+DWTPqqPcCG6t4Znk2BypILcit wiPKTsgbBQR2qo/cO01eLLdt6oOzAaF94NH0656kvRewdo6HG4urbO46tCAizvCR CA7KGFMyad8WdKkTjxh8YLDLoOCtoZmXmQAiwfRe9pKXRH/XXGop8SYptLqyVVQ+ tegOD9wRs2tOlgcLx4F/uMzHN7uoho6okBPiifRX+Pf38Vx+ozXh056tjmdZkCaV aQIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoSPnuAGKtRIS5fEgYPXD 8pSGvKAmIv3A08LBViDUe+YwhilSHbYXUEAcSH1KZvOo1WT1x2FNEPBEFEFU1Eyc +qGzbA03UFgBNvArurHQ5Z/GngGqE7IarSQFSoqewYRtFSfp+TL9CUNBvM0rT7vz 2eMu3/wWG+CBmb92lkmyWwC1WSWFKO3x8w+Br2IFWvAZqHRt8oiG5QtYvcZL6jym Y8T6sgdDlj+Y+wWaLHs9Fc+7vBuyK9C4O1ORdMPW15qVSl4Lc2Wu1QVwRiKnmA+c DsH/m7kDNRHM7TjWnuj+nrBOKAHzYquiu5iB3Qmx+0gwnrSVf27Arc3ozUmmJbLj zQIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvBxJN9ErBgdRcPr5g4hV qyUSGZEKuvQliq2Z9SRHLh2J43+EdB6A+yzVvLnzcHVpBJ+BZ9RV30EM9guck9sh r+bryZcRHyjG2wiIEoduxF2a8KeWeQH7QlpwGhuobo1+gA8L0AGImiA6UP3LOirl I0G2+iaKZowME8/tydww4jx5vG132JCOScMjTalRsYZYJcjFbebQQolpqRaGB4iG WqhytWQGWuKiB1A22wjmIYf3t96l1Mp+FmM2URPxD1gk/BIBnX7ew+2gWppXOK9j 1BJpo0/HaX5XoZ/uMqISAAtgHZAqq+g3IUPouxTphgYQRTRYpz2COw3NF43VYQrR bQIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwXEJ8uVwJPODshTkf2BH pH5fVVDppOa974+IQJsZDmGd3Ny0dcd+WwYUhNFUW3bAfc3/egaMWCaprfaHn+oS 4ddbOFgbX8JCHdru/QMAAU0aEWSMybfJGA569c38fNUF/puX6XK/y0lD2SS3YQ/a oJ5jb5eNrQGR1HHMAd0G9WC4JeZ6WkVTkrcOw55F00aUPGEjejreXBerhTyFdabo dSfc1TILWIYD742Lkm82UBOPsOSdSfOdsMOOkSXxhdCJuCQQ70DHkw7Epy9r+X33 ybI4r1cARcV75OviyhD8CFhAlapLKaYnRFqFxlA515e6h8i8ih/v3MSEW17cCK0b QwIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR4uJVtJOnOFGchnMW5Y j5/waBdG1u5BTMlH+iQMcV5+VgWhmpZHJCBz3ocD+0IGk2I68S5TDOHec/GSC0lv 6R9o6F7h429GmgPgVKQsc8mPTPtbjJMuLLs4xKc+viCplXc0Nc0ZoHmCH4da6fCV tdpHQjVe6F9zjdquZ4RjV6R6JTiN9v924dGMAkbW/xXmamtz51FzondKC52Gh8Mo /oA0/T0KsCMCi7tb4QNQUYrf+Xcha9uus4ww1kWNZyfXJB87a2kORLiWMfs2IBBJ TmZ2Fnk0JnHDb8Oknxd9PvJPT0mvyT8DA+KIAPqNvOjUXP4bnjEHJcoCP9S5HkGC IQIDAQAB -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAutQkua2CAig4VFSJ7v54 ALyu/J1WB3oni7qwCZD3veURw7HxpNAj9hR+S5N/pNeZgubQvJWyaPuQDm7PTs1+ tFGiYNfAsiibX6Rv0wci3M+z2XEVAeR9Vzg6v4qoofDyoTbovn2LztaNEjTkB+oK tlvpNhg1zhou0jDVYFniEXvzjckxswHVb8cT0OMTKHALyLPrPOJzVtM9C1ew2Nnc 3848xLiApMu3NBk0JqfcS3Bo5Y2b1FRVBvdt+2gFoKZix1MnZdAEZ8xQzL/a0YS5 Hd0wj5+EEKHfOd3A75uPa/WQmA+o0cBFfrzm69QDcSJSwGpzWrD1ScH3AK8nWvoj v7e9gukK/9yl1b4fQQ00vttwJPSgm9EnfPHLAtgXkRloI27H6/PuLoNvSAMQwuCD hQRlyGLPBETKkHeodfLoULjhDi1K2gKJTMhtbnUcAA7nEphkMhPWkBpgFdrH+5z4 Lxy+3ek0cqcI7K68EtrffU8jtUj9LFTUC8dERaIBs7NgQ/LfDbDfGh9g6qVj1hZl k9aaIPTm/xsi8v3u+0qaq7KzIBc9s59JOoA8TlpOaYdVgSQhHHLBaahOuAigH+VI isbC9vmqsThF2QdDtQt37keuqoda2E6sL7PUvIyVXDRfwX7uMDjlzTxHTymvq2Ck htBqojBnThmjJQFgZXocHG8CAwEAAQ== -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlEyxkHggKCXC2Wf5Mzx4 nZLFZvU2bgcA3exfNPO/g1YunKfQY+Jg4fr6tJUUTZ3XZUrhmLNWvpvSwDS19ZmC IXOu0+V94aNgnhMsk9rr59I8qcbsQGIBoHzuAl8NzZCgdbEXkiY90w1skUw8J57z qCsMBydAueMXuWqF5nGtYbi5vHwK42PffpiZ7G5Kjwn8nYMW5IZdL6ZnMEVJUWC9 I4waeKg0yskczYDmZUEAtrn3laX9677ToCpiKrvmZYjlGl0BaGp3cxggP2xaDbUq qfFxWNgvUAb3pXD09JM6Mt6HSIJaFc9vQbrKB9KT515y763j5CC2KUsilszKi3mB HYe5PoebdjS7D1Oh+tRqfegU2IImzSwW3iwA7PJvefFuc/kNIijfS/gH/cAqAK6z bhdOtE/zc7TtqW2Wn5Y03jIZdtm12CxSxwgtCF1NPyEWyIxAQUX9ACb3M0FAZ61n fpPrvwTaIIxxZ01L3IzPLpbc44x/DhJIEU+iDt6IMTrHOphD9MCG4631eIdB0H1b 6zbNX1CXTsafqHRFV9XmYYIeOMggmd90s3xIbEujA6HKNP/gwzO6CDJ+nHFDEqoF SkxRdTkEqjTjVKieURW7Swv7zpfu5PrsrrkyGnsRrBJJzXlm2FOOxnbI2iSL1B5F rO5kbUxFeZUIDq+7Yv4kLWcCAwEAAQ== -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnC+bR4bHf/L6QdU4puhQ gl1MHePszRC38bzvVFDUJsmCaMCL2suCs2A2yxAgGb9pu9AJYLAmxQC4mM3jNqhg /E7yuaBbek3O02zN/ctvflJ250wZCy+z0ZGIp1ak6pu1j14IwHokl9j36zNfGtfv ADVOcdpWITFFlPqwq1qt/H3UsKVmtiF3BNWWTeUEQwKvlU8ymxgS99yn0+4OPyNT L3EUeS+NQJtDS01unau0t7LnjUXn+XIneWny8bIYOQCuVR6s/gpIGuhBaUqwaJOw 7jkJZYF2Ij7uPb4b5/R3vX2FfxxqEHqssFSg8FFUNTZz3qNZs0CRVyfA972g9WkJ hPfn31pQYil4QGRibCMIeU27YAEjXoqfJKEPh4UWMQsQLrEfdGfb8VgwrPbniGfU L3jKJR3VAafL9330iawzVQDlIlwGl6u77gEXMl9K0pfazunYhAp+BMP+9ot5ckK+ osmrqj11qMESsAj083GeFdfV3pXEIwUytaB0AKEht9DbqUfiE/oeZ/LAXgySMtVC sbC4ESmgVeY2xSBIJdDyUap7FR49GGrw0W49NUv9gRgQtGGaNVQQO9oGL2PBC41P iWF9GLoX30HIz1P8PF/cZvicSSPkQf2Z6TV+t0ebdGNS5DjapdnCrq8m9Z0pyKsQ uxAL2a7zX8l5i1CZh1ycUGsCAwEAAQ== -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0MfCDrhODRCIxR9Dep1s eXafh5CE5BrF4WbCgCsevyPIdvTeyIaW4vmO3bbG4VzhogDZju+R3IQYFuhoXP5v Y+zYJGnwrgz3r5wYAvPnLEs1+dtDKYOgJXQj+wLJBW1mzRDL8FoRXOe5iRmn1EFS wZ1DoUvyu7/J5r0itKicZp3QKED6YoilXed+1vnS4Sk0mzN4smuMR9eO1mMCqNp9 9KTfRDHTbakIHwasECCXCp50uXdoW6ig/xUAFanpm9LtK6jctNDbXDhQmgvAaLXZ LvFqoaYJ/CvWkyYCgL6qxvMvVmPoRv7OPcyni4xR/WgWa0MSaEWjgPx3+yj9fiMA 1S02pFWFDOr5OUF/O4YhFJvUCOtVsUPPfA/Lj6faL0h5QI9mQhy5Zb9TTaS9jB6p Lw7u0dJlrjFedk8KTJdFCcaGYHP6kNPnOxMylcB/5WcztXZVQD5WpCicGNBxCGMm W64SgrV7M07gQfL/32QLsdqPUf0i8hoVD8wfQ3EpbQzv6Fk1Cn90bZqZafg8XWGY wddhkXk7egrr23Djv37V2okjzdqoyLBYBxMz63qQzFoAVv5VoY2NDTbXYUYytOvG GJ1afYDRVWrExCech1mX5ZVUB1br6WM+psFLJFoBFl6mDmiYt0vMYBddKISsvwLl IJQkzDwtXzT2cSjoj3T5QekCAwEAAQ== -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvaaoSLab+IluixwKV5Od 0gib2YurjPatGIbn5Ov2DLUFYiebj2oJINXJSwUOO+4WcuHFEqiL/1rya+k5hLZt hnPL1tn6QD4rESznvGSasRCQNT2vS/oyZbTYJRyAtFkEYLlq0t3S3xBxxHWuvIf0 qVxVNYpQWyM3N9RIeYBR/euXKJXileSHk/uq1I5wTC0XBIHWcthczGN0m9wBEiWS 0m3cnPk4q0Ea8mUJ91Rqob19qETz6VbSPYYpZk3qOycjKosuwcuzoMpwU8KRiMFd 5LHtX0Hx85ghGsWDVtS0c0+aJa4lOMGvJCAOvDfqvODv7gKlCXUpgumGpLdTmaZ8 1RwqspAe3IqBcdKTqRD4m2mSg23nVx2FAY3cjFvZQtfooT7q1ItRV5RgH6FhQSl7 +6YIMJ1Bf8AAlLdRLpg+doOUGcEn+pkDiHFgI8ylH1LKyFKw+eXaAml/7DaWZk1d dqggwhXOhc/UUZFQuQQ8A8zpA13PcbC05XxN2hyP93tCEtyynMLVPtrRwDnHxFKa qKzs3rMDXPSXRn3ZZTdKH3069ApkEjQdpcwUh+EmJ1Ve/5cdtzT6kKWCjKBFZP/s 91MlRrX2BTRdHaU5QJkUheUtakwxuHrdah2F94lRmsnQlpPr2YseJu6sIE+Dnx4M CfhdVbQL2w54R645nlnohu8CAwEAAQ== -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAq0BFD1D4lIxQcsqEpQzU pNCYM3aP1V/fxxVdT4DWvSI53JHTwHQamKdMWtEXetWVbP5zSROniYKFXd/xrD9X 0jiGHey3lEtylXRIPxe5s+wXoCmNLcJVnvTcDtwx/ne2NLHxp76lyc25At+6RgE6 ADjLVuoD7M4IFDkAsd8UQ8zM0Dww9SylIk/wgV3ZkifecvgUQRagrNUdUjR56EBZ raQrev4hhzOgwelT0kXCu3snbUuNY/lU53CoTzfBJ5UfEJ5pMw1ij6X0r5S9IVsy KLWH1hiO0NzU2c8ViUYCly4Fe9xMTFc6u2dy/dxf6FwERfGzETQxqZvSfrRX+GLj /QZAXiPg5178hT/m0Y3z5IGenIC/80Z9NCi+byF1WuJlzKjDcF/TU72zk0+PNM/H Kuppf3JT4DyjiVzNC5YoWJT2QRMS9KLP5iKCSThwVceEEg5HfhQBRT9M6KIcFLSs mFjx9kNEEmc1E8hl5IR3+3Ry8G5/bTIIruz14jgeY9u5jhL8Vyyvo41jgt9sLHR1 /J1TxKfkgksYev7PoX6/ZzJ1ksWKZY5NFoDXTNYUgzFUTOoEaOg3BAQKadb3Qbbq XIrxmPBdgrn9QI7NCgfnAY3Tb4EEjs3ON/BNyEhUENcXOH6I1NbcuBQ7g9P73kE4 VORdoc8MdJ5eoKBpO8Ww8HECAwEAAQ== -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyduVzi1mWm+lYo2Tqt/0 XkCIWrDNP1QBMVPrE0/ZlU2bCGSoo2Z9FHQKz/mTyMRlhNqTfhJ5qU3U9XlyGOPJ piM+b91g26pnpXJ2Q2kOypSgOMOPA4cQ42PkHBEqhuzssfj9t7x47ppS94bboh46 xLSDRff/NAbtwTpvhStV3URYkxFG++cKGGa5MPXBrxIp+iZf9GnuxVdST5PGiVGP ODL/b69sPJQNbJHVquqUTOh5Ry8uuD2WZuXfKf7/C0jC/ie9m2+0CttNu9tMciGM EyKG1/Xhk5iIWO43m4SrrT2WkFlcZ1z2JSf9Pjm4C2+HovYpihwwdM/OdP8Xmsnr DzVB4YvQiW+IHBjStHVuyiZWc+JsgEPJzisNY0Wyc/kNyNtqVKpX6dRhMLanLmy+ f53cCSI05KPQAcGj6tdL+D60uKDkt+FsDa0BTAobZ31OsFVid0vCXtsbplNhW1IF HwsGXBTVcfXg44RLyL8Lk/2dQxDHNHzAUslJXzPxaHBLmt++2COa2EI1iWlvtznk Ok9WP8SOAIj+xdqoiHcC4j72BOVVgiITIJNHrbppZCq6qPR+fgXmXa+sDcGh30m6 9Wpbr28kLMSHiENCWTdsFij+NQTd5S47H7XTROHnalYDuF1RpS+DpQidT5tUimaT JZDr++FjKrnnijbyNF8b98UCAwEAAQ== -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnpUpyWDWjlUk3smlWeA0 lIMW+oJ38t92CRLHH3IqRhyECBRW0d0aRGtq7TY8PmxjjvBZrxTNDpJT6KUk4LRm a6A6IuAI7QnNK8SJqM0DLzlpygd7GJf8ZL9SoHSH+gFsYF67Cpooz/YDqWrlN7Vw tO00s0B+eXy+PCXYU7VSfuWFGK8TGEv6HfGMALLjhqMManyvfp8hz3ubN1rK3c8C US/ilRh1qckdbtPvoDPhSbTDmfU1g/EfRSIEXBrIMLg9ka/XB9PvWRrekrppnQzP hP9YE3x/wbFc5QqQWiRCYyQl/rgIMOXvIxhkfe8H5n1Et4VAorkpEAXdsfN8KSVv LSMazVlLp9GYq5SUpqYX3KnxdWBgN7BJoZ4sltsTpHQ/34SXWfu3UmyUveWj7wp0 x9hwsPirVI00EEea9AbP7NM2rAyu6ukcm4m6ATd2DZJIViq2es6m60AE6SMCmrQF wmk4H/kdQgeAELVfGOm2VyJ3z69fQuywz7xu27S6zTKi05Qlnohxol4wVb6OB7qG LPRtK9ObgzRo/OPumyXqlzAi/Yvyd1ZQk8labZps3e16bQp8+pVPiumWioMFJDWV GZjCmyMSU8V6MB6njbgLHoyg2LCukCAeSjbPGGGYhnKLm1AKSoJh3IpZuqcKCk5C 8CM1S15HxV78s9dFntEqIokCAwEAAQ== -----END PUBLIC KEY----- -----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtfB12w4ZgqsXWZDfUAV/ 6Y4aHUKIu3q4SXrNZ7CXF9nXoAVYrS7NAxJdAodsY3vPCN0g5O8DFXR+390LdOuQ +HsGKCc1k5tX5ZXld37EZNTNSbR0k+NKhd9h6X3u6wqPOx7SIKxwAQR8qeeFq4pP rt9GAGlxtuYgzIIcKJPwE0dZlcBCg+GnptCUZXp/38BP1eYC+xTXSL6Muq1etYfg odXdb7Yl+2h1IHuOwo5rjgY5kpY7GcAs8AjGk3lDD/av60OTYccknH0NCVSmPoXK vrxDBOn0LQRNBLcAfnTKgHrzy0Q5h4TNkkyTgxkoQw5ObDk9nnabTxql732yy9BY s+hM9+dSFO1HKeVXreYSA2n1ndF18YAvAumzgyqzB7I4pMHXq1kC/8bONMJxwSkS Ym6CoXKyavp7RqGMyeVpRC7tV+blkrrUml0BwNkxE+XnwDRB3xDV6hqgWe0XrifD YTfvd9ScZQP83ip0r4IKlq4GMv/R5shcCRJSkSZ6QSGshH40JYSoiwJf5FHbj9ND 7do0UAqebWo4yNx63j/wb2ULorW3AClv0BCFSdPsIrCStiGdpgJDBR2P2NZOCob3 G9uMj+wJD6JJg2nWqNJxkANXX37Qf8plgzssrhrgOvB0fjjS7GYhfkfmZTJ0wPOw A8+KzFseBh4UFGgue78KwgkCAwEAAQ== -----END PUBLIC KEY----- 3.21.1 Welcome to Alpine Linux 3.21 Kernel \r on an \m (\l) https://secdb.alpinelinux.org/v3.21/main.json https://secdb.alpinelinux.org/v3.21/community.json NAME="Alpine Linux" ID=alpine VERSION_ID=3.21.1 PRETTY_NAME="Alpine Linux v3.21" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" # This file specifies the Certificate Transparency logs # that are to be trusted. # Google's list of logs can be found here: # www.certificate-transparency.org/known-logs # A Python program to convert the log list to OpenSSL's format can be # found here: # https://github.com/google/certificate-transparency/blob/master/python/utilities/log_list/print_log_list.py # Use the "--openssl_output" flag. # This file specifies the Certificate Transparency logs # that are to be trusted. # Google's list of logs can be found here: # www.certificate-transparency.org/known-logs # A Python program to convert the log list to OpenSSL's format can be # found here: # https://github.com/google/certificate-transparency/blob/master/python/utilities/log_list/print_log_list.py # Use the "--openssl_output" flag. # # OpenSSL example configuration file. # See doc/man5/config.pod for more info. # # This is mostly being used for generation of certificate requests, # but may be used for auto loading of providers # Note that you can include other files from the main configuration # file using the .include directive. #.include filename # This definition stops the following lines choking if HOME isn't # defined. HOME = . # Use this in order to automatically load providers. openssl_conf = openssl_init # Comment out the next line to ignore configuration errors config_diagnostics = 1 # Extra OBJECT IDENTIFIER info: # oid_file = $ENV::HOME/.oid oid_section = new_oids # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by 'ca', 'req' and 'ts'. # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 # Policies used by the TSA examples. tsa_policy1 = 1.2.3.4.1 tsa_policy2 = 1.2.3.4.5.6 tsa_policy3 = 1.2.3.4.5.7 # For FIPS # Optionally include a file that is generated by the OpenSSL fipsinstall # application. This file contains configuration data required by the OpenSSL # fips provider. It contains a named section e.g. [fips_sect] which is # referenced from the [provider_sect] below. # Refer to the OpenSSL security policy for more information. # .include fipsmodule.cnf [openssl_init] providers = provider_sect # List of providers to load [provider_sect] default = default_sect # The fips section name should match the section name inside the # included fipsmodule.cnf. # fips = fips_sect # If no providers are activated explicitly, the default one is activated implicitly. # See man 7 OSSL_PROVIDER-default for more details. # # If you add a section explicitly activating any other provider(s), you most # probably need to explicitly activate the default provider, otherwise it # becomes unavailable in openssl. As a consequence applications depending on # OpenSSL may not work correctly which could lead to significant system # problems including inability to remotely access the system. [default_sect] # activate = 1 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = ./demoCA # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crl # Where the issued crl are kept database = $dir/index.txt # database index file. #unique_subject = no # Set to 'no' to allow creation of # several certs with same subject. new_certs_dir = $dir/newcerts # default place for new certs. certificate = $dir/cacert.pem # The CA certificate serial = $dir/serial # The current serial number crlnumber = $dir/crlnumber # the current crl number # must be commented out to leave a V1 CRL crl = $dir/crl.pem # The current CRL private_key = $dir/private/cakey.pem # The private key x509_extensions = usr_cert # The extensions to add to the cert # Comment out the following two lines for the "traditional" # (and highly broken) format. name_opt = ca_default # Subject Name options cert_opt = ca_default # Certificate field options # Extension copying option: use with caution. # copy_extensions = copy # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crlnumber must also be commented out to leave a V1 CRL. # crl_extensions = crl_ext default_days = 365 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = default # use public key default MD preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that :-) policy = policy_match # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional # For the 'anything' policy # At this point in time, you must list all acceptable 'object' # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional #################################################################### [ req ] default_bits = 2048 default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extensions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString (PKIX recommendation before 2004) # utf8only: only UTF8Strings (PKIX recommendation after 2004). # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. # WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings. string_mask = utf8only # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = AU countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = Some-State localityName = Locality Name (eg, city) 0.organizationName = Organization Name (eg, company) 0.organizationName_default = Internet Widgits Pty Ltd # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (e.g. server FQDN or YOUR name) commonName_max = 64 emailAddress = Email Address emailAddress_max = 64 # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when 'ca' signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # An alternative to produce certificates that aren't # deprecated according to PKIX. # subjectAltName=email:move # Copy subject details # issuerAltName=issuer:copy # This is required for TSA certificates. # extendedKeyUsage = critical,timeStamping [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer basicConstraints = critical,CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where 'obj' is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always [ proxy_cert_ext ] # These extensions should be added when creating a proxy certificate # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # An alternative to produce certificates that aren't # deprecated according to PKIX. # subjectAltName=email:move # Copy subject details # issuerAltName=issuer:copy # This really needs to be in place for it to be a proxy certificate. proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo #################################################################### [ tsa ] default_tsa = tsa_config1 # the default TSA section [ tsa_config1 ] # These are used by the TSA reply generation only. dir = ./demoCA # TSA root directory serial = $dir/tsaserial # The current serial number (mandatory) crypto_device = builtin # OpenSSL engine to use for signing signer_cert = $dir/tsacert.pem # The TSA signing certificate # (optional) certs = $dir/cacert.pem # Certificate chain to include in reply # (optional) signer_key = $dir/private/tsakey.pem # The TSA private key (optional) signer_digest = sha256 # Signing digest to use. (Optional) default_policy = tsa_policy1 # Policy if request did not specify it # (optional) other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional) digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory) accuracy = secs:1, millisecs:500, microsecs:100 # (optional) clock_precision_digits = 0 # number of digits after dot. (optional) ordering = yes # Is ordering defined for timestamps? # (optional, default: no) tsa_name = yes # Must the TSA name be included in the reply? # (optional, default: no) ess_cert_id_chain = no # Must the ESS cert id chain be included? # (optional, default: no) ess_cert_id_alg = sha256 # algorithm to compute certificate # identifier (optional, default: sha256) [insta] # CMP using Insta Demo CA # Message transfer server = pki.certificate.fi:8700 # proxy = # set this as far as needed, e.g., http://192.168.1.1:8080 # tls_use = 0 path = pkix/ # Server authentication recipient = "/C=FI/O=Insta Demo/CN=Insta Demo CA" # or set srvcert or issuer ignore_keyusage = 1 # potentially needed quirk unprotected_errors = 1 # potentially needed quirk extracertsout = insta.extracerts.pem # Client authentication ref = 3078 # user identification secret = pass:insta # can be used for both client and server side # Generic message options cmd = ir # default operation, can be overridden on cmd line with, e.g., kur # Certificate enrollment subject = "/CN=openssl-cmp-test" newkey = insta.priv.pem out_trusted = apps/insta.ca.crt # does not include keyUsage digitalSignature certout = insta.cert.pem [pbm] # Password-based protection for Insta CA # Server and client authentication ref = $insta::ref # 3078 secret = $insta::secret # pass:insta [signature] # Signature-based protection for Insta CA # Server authentication trusted = $insta::out_trusted # apps/insta.ca.crt # Client authentication secret = # disable PBM key = $insta::newkey # insta.priv.pem cert = $insta::certout # insta.cert.pem [ir] cmd = ir [cr] cmd = cr [kur] # Certificate update cmd = kur oldcert = $insta::certout # insta.cert.pem [rr] # Certificate revocation cmd = rr oldcert = $insta::certout # insta.cert.pem # # OpenSSL example configuration file. # See doc/man5/config.pod for more info. # # This is mostly being used for generation of certificate requests, # but may be used for auto loading of providers # Note that you can include other files from the main configuration # file using the .include directive. #.include filename # This definition stops the following lines choking if HOME isn't # defined. HOME = . # Use this in order to automatically load providers. openssl_conf = openssl_init # Comment out the next line to ignore configuration errors config_diagnostics = 1 # Extra OBJECT IDENTIFIER info: # oid_file = $ENV::HOME/.oid oid_section = new_oids # To use this configuration file with the "-extfile" option of the # "openssl x509" utility, name here the section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in its main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by 'ca', 'req' and 'ts'. # Add a simple OID like this: # testoid1=1.2.3.4 # Or use config file substitution like this: # testoid2=${testoid1}.5.6 # Policies used by the TSA examples. tsa_policy1 = 1.2.3.4.1 tsa_policy2 = 1.2.3.4.5.6 tsa_policy3 = 1.2.3.4.5.7 # For FIPS # Optionally include a file that is generated by the OpenSSL fipsinstall # application. This file contains configuration data required by the OpenSSL # fips provider. It contains a named section e.g. [fips_sect] which is # referenced from the [provider_sect] below. # Refer to the OpenSSL security policy for more information. # .include fipsmodule.cnf [openssl_init] providers = provider_sect # List of providers to load [provider_sect] default = default_sect # The fips section name should match the section name inside the # included fipsmodule.cnf. # fips = fips_sect # If no providers are activated explicitly, the default one is activated implicitly. # See man 7 OSSL_PROVIDER-default for more details. # # If you add a section explicitly activating any other provider(s), you most # probably need to explicitly activate the default provider, otherwise it # becomes unavailable in openssl. As a consequence applications depending on # OpenSSL may not work correctly which could lead to significant system # problems including inability to remotely access the system. [default_sect] # activate = 1 #################################################################### [ ca ] default_ca = CA_default # The default ca section #################################################################### [ CA_default ] dir = ./demoCA # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crl # Where the issued crl are kept database = $dir/index.txt # database index file. #unique_subject = no # Set to 'no' to allow creation of # several certs with same subject. new_certs_dir = $dir/newcerts # default place for new certs. certificate = $dir/cacert.pem # The CA certificate serial = $dir/serial # The current serial number crlnumber = $dir/crlnumber # the current crl number # must be commented out to leave a V1 CRL crl = $dir/crl.pem # The current CRL private_key = $dir/private/cakey.pem # The private key x509_extensions = usr_cert # The extensions to add to the cert # Comment out the following two lines for the "traditional" # (and highly broken) format. name_opt = ca_default # Subject Name options cert_opt = ca_default # Certificate field options # Extension copying option: use with caution. # copy_extensions = copy # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs # so this is commented out by default to leave a V1 CRL. # crlnumber must also be commented out to leave a V1 CRL. # crl_extensions = crl_ext default_days = 365 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = default # use public key default MD preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that :-) policy = policy_match # For the CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional # For the 'anything' policy # At this point in time, you must list all acceptable 'object' # types. [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional #################################################################### [ req ] default_bits = 2048 default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca # The extensions to add to the self signed cert # Passwords for private keys if not present they will be prompted for # input_password = secret # output_password = secret # This sets a mask for permitted string types. There are several options. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString (PKIX recommendation before 2004) # utf8only: only UTF8Strings (PKIX recommendation after 2004). # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). # MASK:XXXX a literal mask value. # WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings. string_mask = utf8only # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = AU countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = Some-State localityName = Locality Name (eg, city) 0.organizationName = Organization Name (eg, company) 0.organizationName_default = Internet Widgits Pty Ltd # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (e.g. server FQDN or YOUR name) commonName_max = 64 emailAddress = Email Address emailAddress_max = 64 # SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] # These extensions are added when 'ca' signs a request. # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # An alternative to produce certificates that aren't # deprecated according to PKIX. # subjectAltName=email:move # Copy subject details # issuerAltName=issuer:copy # This is required for TSA certificates. # extendedKeyUsage = critical,timeStamping [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for a typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer basicConstraints = critical,CA:true # Key usage: this is typical for a CA certificate. However since it will # prevent it being used as an test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuerAltName=issuer:copy # DER hex encoding of an extension: beware experts only! # obj=DER:02:03 # Where 'obj' is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions. # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always [ proxy_cert_ext ] # These extensions should be added when creating a proxy certificate # This goes against PKIX guidelines but some CAs do it and some software # requires this to avoid interpreting an end user certificate as a CA. basicConstraints=CA:FALSE # This is typical in keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # PKIX recommendations harmless if included in all certificates. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer # This stuff is for subjectAltName and issuerAltname. # Import the email address. # subjectAltName=email:copy # An alternative to produce certificates that aren't # deprecated according to PKIX. # subjectAltName=email:move # Copy subject details # issuerAltName=issuer:copy # This really needs to be in place for it to be a proxy certificate. proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo #################################################################### [ tsa ] default_tsa = tsa_config1 # the default TSA section [ tsa_config1 ] # These are used by the TSA reply generation only. dir = ./demoCA # TSA root directory serial = $dir/tsaserial # The current serial number (mandatory) crypto_device = builtin # OpenSSL engine to use for signing signer_cert = $dir/tsacert.pem # The TSA signing certificate # (optional) certs = $dir/cacert.pem # Certificate chain to include in reply # (optional) signer_key = $dir/private/tsakey.pem # The TSA private key (optional) signer_digest = sha256 # Signing digest to use. (Optional) default_policy = tsa_policy1 # Policy if request did not specify it # (optional) other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional) digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory) accuracy = secs:1, millisecs:500, microsecs:100 # (optional) clock_precision_digits = 0 # number of digits after dot. (optional) ordering = yes # Is ordering defined for timestamps? # (optional, default: no) tsa_name = yes # Must the TSA name be included in the reply? # (optional, default: no) ess_cert_id_chain = no # Must the ESS cert id chain be included? # (optional, default: no) ess_cert_id_alg = sha256 # algorithm to compute certificate # identifier (optional, default: sha256) [insta] # CMP using Insta Demo CA # Message transfer server = pki.certificate.fi:8700 # proxy = # set this as far as needed, e.g., http://192.168.1.1:8080 # tls_use = 0 path = pkix/ # Server authentication recipient = "/C=FI/O=Insta Demo/CN=Insta Demo CA" # or set srvcert or issuer ignore_keyusage = 1 # potentially needed quirk unprotected_errors = 1 # potentially needed quirk extracertsout = insta.extracerts.pem # Client authentication ref = 3078 # user identification secret = pass:insta # can be used for both client and server side # Generic message options cmd = ir # default operation, can be overridden on cmd line with, e.g., kur # Certificate enrollment subject = "/CN=openssl-cmp-test" newkey = insta.priv.pem out_trusted = apps/insta.ca.crt # does not include keyUsage digitalSignature certout = insta.cert.pem [pbm] # Password-based protection for Insta CA # Server and client authentication ref = $insta::ref # 3078 secret = $insta::secret # pass:insta [signature] # Signature-based protection for Insta CA # Server authentication trusted = $insta::out_trusted # apps/insta.ca.crt # Client authentication secret = # disable PBM key = $insta::newkey # insta.priv.pem cert = $insta::certout # insta.cert.pem [ir] cmd = ir [cr] cmd = cr [kur] # Certificate update cmd = kur oldcert = $insta::certout # insta.cert.pem [rr] # Certificate revocation cmd = rr oldcert = $insta::certout # insta.cert.pem ELF>@0@8 @,, dd.>>` . > >00$$Std00Ptd QtdRtd.>> GNUGNU+@c:-9cw|7 F   ^  t _ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__deregister_frame_info__register_frame_infobind_enginev_check?????>@PXH=/H/H9tH/Ht H=/H5/H)HH?HHHtH}/HtfD=/uGUH=F/Ht H=b/4/gH=//t H=f /Y/]ff.@H=/t&UH5N/H='H.]8+1øHw1PX;8LzRx 0  )>>o( px  o $#% >@capi.so.debug.shstrtab.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.relr.dyn.init.text.fini.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.data.bss.gnu_debuglink 0$1o(; ((CKppxU_ek))q  D>.>. > .?/@@0 @0P 00ELF>G@01@8 @@@@ "" x,x<x<(,<<@@88800hhh$$Std88800Ptd| | | 44QtdRtdx,x<x</lib/ld-musl-x86_64.so.1 GNU GNUx iCy!4; |bR+$D$%&9a P" +wg b~ ,@D8^vDI  =< @__cxa_finalize_ITM_deregisterTMCloneTable__stack_chk_failstderratoi__deregister_frame_info__register_frame_infostrlen_ITM_registerTMCloneTable__errno_locationERR_print_errors_fpERR_clear_errorpollSSL_ctrlSSL_newSSL_writeSSL_set_fdSSL_set_hostflagsSSL_CTX_set_default_verify_pathsSSL_CTX_freeSSL_connectSSL_CTX_newSSL_set1_hostSSL_readSSL_set_verifyTLS_client_methodOPENSSL_init_sslSSL_get_errorexitprintfgetoptoptarg_init_finierrx__libc_start_mainlibcrypto.so.3libssl.so.3libc.musl-x86_64.so.1OPENSSL_3.0.0 +p +p>>???? ?(?0? 8? @? H? P? X?`?h?p?x?????????????? ?!?"?#<% @'>x<PX5.%.@%.hAWL=AVE1AUAATAU1SH(dH%(H\$HLHDm/tQnt3It=ht#?u־$suH=/A/A1 H-i/H;AAHtHa.Ht HD8.u11..H.H=%IHt!H.L.HHu H=NDH .1ɺH߾!.H.1HH7-H=HuHHw-HuEu1ҾH-.H-H=gWD$fD$ fD$Dl$L-.H|$f|$L1H-HHy ,8tAuD$IHH-u$e-IcƉHItJ-HHyH= H)AHf|$YL5.LH-ƅy"H,t H= f,uLQ,HD$dH+%(tG,HcE1IcHI4x,HyH5O 1o,AH)uH(1[]A\A]A^A_H1HH5<)H7HWLE1H H=H=,Hz,H9tH+Ht H=Q,H5J,H)HH?HHHtH+HtfD=I,uGUH=+Ht H=+ +gH=+t H= + ,]ff.@H=*t&UH5+H= H*]8+SHH='*+Hڿ1H5Y K*HUHSHcRH9s HH*y$8*tH5 1*X[]S1HH= **PX%spollusage: %s [-s FD] [-I] -n SNI hs:n:ISSL_CTX_newSSL_newSSL_set_tlsext_host_nameSSL_connectSSL_writeSSL_read;0L t1zRx $@ FJ w?;*3$"D(A$\UKDD AAAHBIE H(D0C8D`8C0A(B BBBP  x<<o # > @ ` oo oo $ #%<&@GCC: (Alpine 14.2.0) 14.2.0.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment 880&hh$9o8C K#So P`o @o@ @ `yB  ~ 002 z| | 4 x<x,<,<,<,@>.0@0 @0 00$0#!/bin/sh poweroff # enter the cron options CRON_OPTS="-c /etc/crontabs" KLOGD_OPTS="" # Absolut path to the keymap which should be loaded using loadkmap. #KEYMAP="/usr/share/keymaps/xkb/us.map.gz" # By default ntpd runs as a client. Add -l to run as a server on port 123. NTPD_OPTS="-N -p pool.ntp.org" # Set the ntp server here NTP_HOST=pool.ntp.org SYSLOGD_OPTS="-t" #WATCHDOG_OPTS="-t 30" WATCHDOG_DEV="" #!/sbin/openrc-run name="busybox acpid" command="/sbin/acpid" command_args="$ACPID_OPTS -f" pidfile="/run/acpid.pid" command_background=true start_stop_daemon_args="-g wheel -k 027" depend() { need dev localmount after hwdrivers modules keyword -vserver -lxc } #!/sbin/openrc-run name="busybox $RC_SVCNAME" command="/usr/sbin/$SVCNAME" pidfile="/run/$RC_SVCNAME.pid" command_args="$CRON_OPTS -f" command_background=true depend() { need localmount need logger } #!/sbin/openrc-run name="busybox klogd" command="/sbin/klogd" command_args="${KLOGD_OPTS} -n" command_user="klogd" pidfile="/run/klogd.pid" command_background=true capabilities="^cap_syslog" depend() { need clock hostname localmount logger before net keyword -vserver -lxc } #!/sbin/openrc-run description="Applies a keymap for the consoles." depend() { provide keymaps need localmount keyword -openvz -prefix -uml -vserver -xenu -lxc } start() { [ -z "$KEYMAP" ] && return ebegin "Setting keymap" zcat "$KEYMAP" | loadkmap eend $? } stop() { return } #!/sbin/openrc-run name="busybox $RC_SVCNAME" command="/usr/sbin/$RC_SVCNAME" command_args="${NTPD_OPTS:--N -p pool.ntp.org} -n" command_user="ntp" pidfile="/run/$SVCNAME.pid" command_background=true capabilities="^cap_sys_time,^cap_net_bind_service" depend() { need net provide ntp-client use dns } #!/sbin/openrc-run depend() { need net after firewall keyword -vserver -lxc } start() { if [ -z "$NTP_HOST" ] ; then eerror "Please set NTP_HOST in /etc/conf.d/rdate" return 1 fi ebegin "Running busybox rdate" rdate "$NTP_HOST" eend $? } #!/sbin/openrc-run description="Message logging system" name="busybox syslog" command="/sbin/syslogd" command_args="${SYSLOGD_OPTS} -n" pidfile="/run/syslogd.pid" command_background=true start_stop_daemon_args="-g wheel -k 027" depend() { need clock hostname localmount provide logger } #!/sbin/openrc-run name="busybox watchdog" command="/sbin/watchdog" command_args="${WATCHDOG_OPTS} -F ${WATCHDOG_DEV}" pidfile="/run/watchdog.pid" command_background=true depend() { need dev after hwdrivers } start_pre() { if ! [ -n "$WATCHDOG_DEV" ]; then eerror "WATCHDOG_DEV is not set" return 1 fi } ELF>@1@8 @@@@ -==`h-h=h=88800hhh$$Std88800Ptd ,,QtdRtd-==/lib/ld-musl-x86_64.so.1 GNUGNUF ]3j({ggv 0@V"eC6 =' .jq J P execvstrrchrperror__stack_chk_failunlinksymlinkmalloclstatgetuid_init_fini__cxa_finalizeerrxstrcmp__libc_start_mainfreelibc.musl-x86_64.so.1__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_infox????????? ? ? ? ? ????p?=PX5J/%L/@%J/hAVAUL-,ATAUSHH>dH,%(H$HH5HHp/AH}H5xM/Åuq.L%r,L-H5[uYI,$HHt$H.uD$ %=u H.HL.=IH5)1b.I}Ht9HIILH.uHHDHH51 .H$dH+%(t.HĠ[]A\A]A^H1HH5+H7HWLE1H )H=R=f.H=.H .H9tH-Ht H=-H5-H)HH?HHHtHm-HtfD=-uGUH=-Ht H=-,gH=-t H=-y-]ff.@H=(-t&UH5n-H=H-]8+S/H,HtHXH[AVIAUIATAUnHcSHHb,HH LsH1HA9~ ITHT1HHD+H;`,H;+Hv,[]A\A]A^PX/bin/busybox--installOnly root can install symlinks/bin/bbsuidUse --install to install symlinks%s is not a valid applet/bin/mount/bin/umount/bin/su/usr/bin/crontab/usr/bin/passwd/usr/bin/traceroute/usr/bin/traceroute6/usr/bin/vlock;,H8pzRx $ FJ w?;*3$"DA[8`~BEE D(G0Z(F BBB@hzBBI D(A0GV0C(A BBB`}   ==o  X?X o$p#%h=&@GCC: (Alpine 14.2.0) 14.2.0.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment 880&hh$9o,C KS]BXXgppqb w00`}2  ,(!(!=-=- = -H h=h-X?X/@0 @0P 00$0#!/bin/sh scan_dirs() { scanelf -qS "$@" | while read SONAME FILE; do TARGET="${FILE##*/}" LINK="${FILE%/*}/$SONAME" case "$FILE" in /lib/*|/usr/lib/*|/usr/local/lib/*) ;; *) [ -h "$LINK" -o ! -e "$LINK" ] && ln -sf "$TARGET" "$LINK" esac done return 0 } # eat ldconfig options while getopts "nNvXvf:C:r:" opt; do : done shift $(( $OPTIND - 1 )) [ $# -gt 0 ] && scan_dirs "$@" #!/bin/sh exec /lib/ld-musl-x86_64.so.1 --list "$@" # This is an example /etc/pkcs11/pkcs11.conf file. Copy it into # place before use. # This setting controls whether to load user configuration from the # ~/.config/pkcs11 directory. Possible values: # none: No user configuration # merge: Merge the user config over the system configuration (default) # only: Only user configuration, ignore system configuration user-config: merge ELF>@01@8 @@@@    ,<<h,<<@@88800hhh$$Std88800Ptd"""TTQtdRtd,<<``/lib/ld-musl-x86_64.so.1 GNU GNU*!"!M(Ou??L\ "#)937O "\>6  fOc sV8 5n<.< @ (@_init_fini__cxa_finalize__libc_start_mainstderrvfprintf__stack_chk_failgetpidfputcvsnprintfreallocfree__assert_failgetopt_longputcharstrchrstdoutputsoptargoptindisattystrncmpmallocstrncpy_ITM_deregisterTMCloneTable__deregister_frame_info__register_frame_info_ITM_registerTMCloneTablep11_kit_module_releasep11_kit_module_loadp11_kit_remote_serve_modulep11_kit_be_loudp11_kit_remote_serve_tokenslibp11-kit.so.0libc.musl-x86_64.so.1LIBP11_KIT_1.0$ORIGIN/ h ?(?0?8?@?H?P?X?`? h? p? x? ? ???????????????<< @ (@#?< PX5.%.@%.hAWAVIAUATU1SH(dH%(H$1H$H tH|$PDŽ$vH$H ]H$H SH$HFDŽ$hHD$XHDŽ$DŽ$pD$hpHD$pHD$ 111HD$1H|$HD$4H.Ht$ @HD$@H.T$&2 exit 2 fi uid=$(id -u) if [ "$uid" != 0 ]; then echo "trust: running as non-root user: skip extracting compat bundles" >&2 exit 0 fi echo "trust: the placeholder extract-compat command has not been customized by your distribution." >&2 # You can use commands like this to extract data from trust modules # into appropriate locations for your distribution. # # trust extract --format=openssl-bundle --filter=ca-anchors \ # --overwrite /tmp/openssl-bundle.pem # trust extract --format=pem-bundle --filter=ca-anchors --overwrite \ # --purpose server-auth /tmp/server-auth-bundle.pem # trust extract --format=java-cacerts --filter=ca-anchors --overwrite \ # --purpose server-auth /tmp/cacerts exit 1 ELF>@1@8 @@@@x x  H-H=H=H`-`=`=88800hhh$$Std88800PtdD D D $$QtdRtdH-H=H=/lib/ld-musl-x86_64.so.1 GNUGNU)VojINh~L93*"| 0 J /DIf  =X=6 @ |#(@__cxa_finalizefprintf__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_infoseccomp_syscall_resolve_name_rewriteseccomp_arch_native_finiseccomp_arch_resolve_nameseccomp_syscall_resolve_name_arch_initseccomp_syscall_resolve_num_archexitoptindputsgetoptoptargstderratoi__libc_start_mainlibseccomp.so.2libc.musl-x86_64.so.1????????? ? ? ? ? ???X= @(@x?H=PX5R/%T/@%R/hAVL5AUE1ATAUHSZ/LHDq/~'at Att!H=/f/Åu Hc/D9| H}HtPЀ v<-u*H5/߉.HHuH=].)EH-Vt..H1{.[1]A\A]A^H1HH5C,H7HWLIE1H H=H=.H.H9tH^.Ht H=.H5z.H)HH?HHHtH.HtfD=y.uGUH=-Ht H=".-gH=-t H=-9.]ff.@H=-t&UH5..H=oH-]8+PXH5 PH1H=*?-d-PXusage: %s [-h] [-a ] [-t] | UNKNOWNa:ht%d ; <dzRx $ FJ w?;*3$"D'AAH8`dBIE D(D0(C BBB [k  |H=P=o  `?H  o$` #%`=&@GCC: (Alpine 14.2.0) 14.2.0.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment 880&hh$9o<C (KS]BH H g` ` qb w00L}||2 BD D $h h H=H-P=P-X=X-`=`-`?`/@0 @0p 00$0# default config pool pool.ntp.org iburst initstepslew 10 pool.ntp.org driftfile /var/lib/chrony/chrony.drift rtcsync cmdport 0 /var/log/chrony/*.log { missingok nocreate sharedscripts postrotate /usr/bin/chronyc cyclelogs > /dev/null 2>&1 || true endscript } # /etc/conf.d/chronyd CFGFILE="/etc/chrony/chrony.conf" # chronyd takes some time to perform a second fork, by enabling this # option chronyd is deamonized through start-stop-daemon(1) thereby # significantly reducing the startup time. FAST_STARTUP=no # Configuration dependant options : # -s - Set system time from RTC if rtcfile directive present # -r - Reload sample histories if dumponexit directive present # # The combination of "-s -r" allows chronyd to perform long term averaging of # the gain or loss rate across system reboots and shutdowns. ARGS="" # vrf e.g 'vrf-mgmt' #vrf="" #!/sbin/openrc-run command="/usr/sbin/chronyd" description="NTP daemon" pidfile="/run/chrony/chronyd.pid" required_files="$CFGFILE" command_args="-f $CFGFILE $ARGS" depend() { need net after firewall provide ntp-client ntp-server use dns } start() { if [ -c /dev/rtc ]; then grep -q '^rtcfile' "${CFGFILE}" && command_args="$command_args -s" fi grep -q '^dumponexit$' "${CFGFILE}" && command_args="$command_args -r" if yesno "$FAST_STARTUP"; then # this option makes it stay in foreground and let openrc do the tracking, # so we have to set pidfile to a dir that exists earlier. # the reason this is not the default is because there is no 'readiness', # self-backgrounding chrony waits for time to sync before continuing, # and this form does not. command_args="$command_args -n" command_background=true pidfile=/run/chronyd.pid fi default_start } # A sample configuration for dhcpcd. # See dhcpcd.conf(5) for details. # Allow users of this group to interact with dhcpcd via the control socket. #controlgroup wheel # Inform the DHCP server of our hostname for DDNS. #hostname # Use the hardware address of the interface for the Client ID. #clientid # or # Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361. # Some non-RFC compliant DHCP servers do not reply with this set. # In this case, comment out duid and enable clientid above. duid # Persist interface configuration when dhcpcd exits. persistent # vendorclassid is set to blank to avoid sending the default of # dhcpcd-::: vendorclassid # A list of options to request from the DHCP server. option domain_name_servers, domain_name, domain_search option classless_static_routes # Respect the network MTU. This is applied to DHCP routes. option interface_mtu # Request a hostname from the network option host_name # Most distributions have NTP support. #option ntp_servers # Rapid commit support. # Safe to enable by default because it requires the equivalent option set # on the server to actually work. option rapid_commit # A ServerID is required by RFC2131. require dhcp_server_identifier # Generate SLAAC address using the Hardware Address of the interface #slaac hwaddr # OR generate Stable Private IPv6 Addresses based from the DUID slaac private # Echo the interface flags, reason and message options if [ "$reason" = "TEST" ]; then # General variables at the top set | while read line; do case "$line" in interface=*|pid=*|reason=*|protocol=*|profile=*|skip_hooks=*) echo "$line";; esac done # Interface flags set | while read line; do case "$line" in ifcarrier=*|ifflags=*|ifmetric=*|ifmtu=*|ifwireless=*|ifssid=*) echo "$line";; esac done # Old lease set | while read line; do case "$line" in old_*) echo "$line";; esac done # New lease set | while read line; do case "$line" in new_*) echo "$line";; esac done # Router Advertisements set | while read line; do case "$line" in nd[0-9]*_*) echo "$line";; esac done exit 0 fi # Generate /etc/resolv.conf # Support resolvconf(8) if available # We can merge other dhcpcd resolv.conf files into one like resolvconf, # but resolvconf is preferred as other applications like VPN clients # can readily hook into it. # Also, resolvconf can configure local nameservers such as bind # or dnsmasq. This is important as the libc resolver isn't that powerful. resolv_conf_dir="$state_dir/resolv.conf" nocarrier_roaming_dir="$state_dir/roaming" NL=" " : ${resolvconf:=resolvconf} if command -v "$resolvconf" >/dev/null 2>&1; then have_resolvconf=true else have_resolvconf=false fi build_resolv_conf() { cf="$state_dir/resolv.conf.$ifname" # Build a list of interfaces interfaces=$(list_interfaces "$resolv_conf_dir") # Build the resolv.conf header= if [ -n "$interfaces" ]; then # Build the header for x in ${interfaces}; do header="$header${header:+, }$x" done # Build the search list domain=$(cd "$resolv_conf_dir"; \ key_get_value "domain " ${interfaces}) search=$(cd "$resolv_conf_dir"; \ key_get_value "search " ${interfaces}) set -- ${domain} domain="$1" [ -n "$2" ] && search="$search $*" [ -n "$search" ] && search="$(uniqify $search)" [ "$domain" = "$search" ] && search= [ -n "$domain" ] && domain="domain $domain$NL" [ -n "$search" ] && search="search $search$NL" # Build the nameserver list srvs=$(cd "$resolv_conf_dir"; \ key_get_value "nameserver " ${interfaces}) for x in $(uniqify $srvs); do servers="${servers}nameserver $x$NL" done fi header="$signature_base${header:+ $from }$header" # Assemble resolv.conf using our head and tail files [ -f "$cf" ] && rm -f "$cf" [ -d "$resolv_conf_dir" ] || mkdir -p "$resolv_conf_dir" echo "$header" > "$cf" if [ -f /etc/resolv.conf.head ]; then cat /etc/resolv.conf.head >> "$cf" else echo "# /etc/resolv.conf.head can replace this line" >> "$cf" fi printf %s "$domain$search$servers" >> "$cf" if [ -f /etc/resolv.conf.tail ]; then cat /etc/resolv.conf.tail >> "$cf" else echo "# /etc/resolv.conf.tail can replace this line" >> "$cf" fi if change_file /etc/resolv.conf "$cf"; then chmod 644 /etc/resolv.conf fi rm -f "$cf" } # Extract any ND DNS options from the RA # Obey the lifetimes eval_nd_dns() { eval rdnsstime=\$nd${i}_rdnss${j}_lifetime [ -z "$rdnsstime" ] && return 1 ltime=$(($rdnsstime - $offset)) if [ "$ltime" -gt 0 ]; then eval rdnss=\$nd${i}_rdnss${j}_servers [ -n "$rdnss" ] && new_rdnss="$new_rdnss${new_rdnss:+ }$rdnss" fi eval dnssltime=\$nd${i}_dnssl${j}_lifetime [ -z "$dnssltime" ] && return 1 ltime=$(($dnssltime - $offset)) if [ "$ltime" -gt 0 ]; then eval dnssl=\$nd${i}_dnssl${j}_search [ -n "$dnssl" ] && new_dnssl="$new_dnssl${new_dnssl:+ }$dnssl" fi j=$(($j + 1)) return 0 } add_resolv_conf() { conf="$signature$NL" warn=true # Loop to extract the ND DNS options using our indexed shell values i=1 j=1 while true; do eval acquired=\$nd${i}_acquired [ -z "$acquired" ] && break eval now=\$nd${i}_now [ -z "$now" ] && break offset=$(($now - $acquired)) while true; do eval_nd_dns || break done i=$(($i + 1)) j=1 done [ -n "$new_rdnss" ] && \ new_domain_name_servers="$new_domain_name_servers${new_domain_name_servers:+ }$new_rdnss" [ -n "$new_dnssl" ] && \ new_domain_search="$new_domain_search${new_domain_search:+ }$new_dnssl" # Derive a new domain from our various hostname options if [ -z "$new_domain_name" ]; then if [ "$new_dhcp6_fqdn" != "${new_dhcp6_fqdn#*.}" ]; then new_domain_name="${new_dhcp6_fqdn#*.}" elif [ "$new_fqdn" != "${new_fqdn#*.}" ]; then new_domain_name="${new_fqdn#*.}" elif [ "$new_host_name" != "${new_host_name#*.}" ]; then new_domain_name="${new_host_name#*.}" fi fi # If we don't have any configuration, remove it if [ -z "$new_domain_name_servers" ] && [ -z "$new_domain_name" ] && [ -z "$new_domain_search" ]; then remove_resolv_conf return $? fi if [ -n "$new_domain_name" ]; then set -- $new_domain_name if valid_domainname "$1"; then conf="${conf}domain $1$NL" else syslog err "Invalid domain name: $1" fi # If there is no search this, make this one if [ -z "$new_domain_search" ]; then new_domain_search="$new_domain_name" [ "$new_domain_name" = "$1" ] && warn=true fi fi if [ -n "$new_domain_search" ]; then new_domain_search=$(uniqify $new_domain_search) if valid_domainname_list $new_domain_search; then conf="${conf}search $new_domain_search$NL" elif ! $warn; then syslog err "Invalid domain name in list:" \ "$new_domain_search" fi fi new_domain_name_servers=$(uniqify $new_domain_name_servers) for x in ${new_domain_name_servers}; do conf="${conf}nameserver $x$NL" done if $have_resolvconf; then [ -n "$ifmetric" ] && export IF_METRIC="$ifmetric" printf %s "$conf" | "$resolvconf" -a "$ifname" return $? fi if [ -e "$resolv_conf_dir/$ifname" ]; then rm -f "$resolv_conf_dir/$ifname" fi [ -d "$resolv_conf_dir" ] || mkdir -p "$resolv_conf_dir" printf %s "$conf" > "$resolv_conf_dir/$ifname" build_resolv_conf } remove_resolv_conf() { if $have_resolvconf; then "$resolvconf" -d "$ifname" -f else if [ -e "$resolv_conf_dir/$ifname" ]; then rm -f "$resolv_conf_dir/$ifname" fi build_resolv_conf fi } # For ease of use, map DHCP6 names onto our DHCP4 names case "$reason" in BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6) new_domain_name_servers="$new_dhcp6_name_servers" new_domain_search="$new_dhcp6_domain_search" ;; esac if $if_configured; then if $have_resolvconf && [ "$reason" = NOCARRIER_ROAMING ]; then # avoid calling resolvconf -c on CARRIER unless we roam mkdir -p "$nocarrier_roaming_dir" echo " " >"$nocarrier_roaming_dir/$interface" "$resolvconf" -C "$interface.*" elif $have_resolvconf && [ "$reason" = CARRIER ]; then # Not all resolvconf implementations support -c if [ -e "$nocarrier_roaming_dir/$interface" ]; then rm -f "$nocarrier_roaming_dir/$interface" "$resolvconf" -c "$interface.*" fi elif $if_up || [ "$reason" = ROUTERADVERT ]; then add_resolv_conf elif $if_down; then remove_resolv_conf fi fi # Set the hostname from DHCP data if required # A hostname can either be a short hostname or a FQDN. # hostname_fqdn=true # hostname_fqdn=false # hostname_fqdn=server # A value of server means just what the server says, don't manipulate it. # This could lead to an inconsistent hostname on a DHCPv4 and DHCPv6 network # where the DHCPv4 hostname is short and the DHCPv6 has an FQDN. # DHCPv6 has no hostname option. # RFC4702 section 3.1 says FQDN should be prefered over hostname. # # As such, the default is hostname_fqdn=true so that a consistent hostname # is always assigned. : ${hostname_fqdn:=true} # If we used to set the hostname, but relinquish control of it, we should # reset to the default value. : ${hostname_default=(none)} # Some systems don't have hostname(1) _hostname() { if [ -z "${1+x}" ]; then if [ -r /proc/sys/kernel/hostname ]; then read name /dev/null 2>/dev/null; then hostname elif sysctl kern.hostname >/dev/null 2>&1; then sysctl -n kern.hostname elif sysctl kernel.hostname >/dev/null 2>&1; then sysctl -n kernel.hostname else return 1 fi return $? fi if [ -w /proc/sys/kernel/hostname ]; then echo "$1" >/proc/sys/kernel/hostname elif [ -n "$1" ] && command -v hostname >/dev/null 2>&1; then hostname "$1" elif sysctl kern.hostname >/dev/null 2>&1; then sysctl -w "kern.hostname=$1" >/dev/null elif sysctl kernel.hostname >/dev/null 2>&1; then sysctl -w "kernel.hostname=$1" >/dev/null else # May fail to set a blank hostname hostname "$1" fi } is_default_hostname() { case "$1" in ""|"$hostname_default"|localhost|localhost.localdomain) return 0;; esac return 1 } need_hostname() { # Always load the hostname variable for future use hostname="$(_hostname)" is_default_hostname "$hostname" && return 0 case "$force_hostname" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|1) return 0;; esac if [ -n "$old_fqdn" ]; then if ${hfqdn} || ! ${hshort}; then [ "$hostname" = "$old_fqdn" ] else [ "$hostname" = "${old_fqdn%%.*}" ] fi elif [ -n "$old_host_name" ]; then if ${hfqdn}; then if [ -n "$old_domain_name" ] && [ "$old_host_name" = "${old_host_name#*.}" ] then [ "$hostname" = \ "$old_host_name.$old_domain_name" ] else [ "$hostname" = "$old_host_name" ] fi elif ${hshort}; then [ "$hostname" = "${old_host_name%%.*}" ] else [ "$hostname" = "$old_host_name" ] fi else # No old hostname false fi } try_hostname() { [ "$hostname" = "$1" ] && return 0 if valid_domainname "$1"; then syslog info "Setting hostname: $1" _hostname "$1" else syslog err "Invalid hostname: $1" fi } set_hostname() { hfqdn=false hshort=false case "$hostname_fqdn" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|1) hfqdn=true;; ""|[Ss][Ee][Rr][Vv][Ee][Rr]) ;; *) hshort=true;; esac need_hostname || return 0 if [ -n "$new_fqdn" ]; then if ${hfqdn} || ! ${hshort}; then try_hostname "$new_fqdn" else try_hostname "${new_fqdn%%.*}" fi elif [ -n "$new_host_name" ]; then if ${hfqdn}; then if [ -n "$new_domain_name" ] && [ "$new_host_name" = "${new_host_name#*.}" ] then try_hostname "$new_host_name.$new_domain_name" else try_hostname "$new_host_name" fi elif ${hshort}; then try_hostname "${new_host_name%%.*}" else try_hostname "$new_host_name" fi elif ! is_default_hostname "$hostname"; then try_hostname "$hostname_default" fi } # For ease of use, map DHCP6 names onto our DHCP4 names case "$reason" in BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6) new_fqdn="$new_dhcp6_fqdn" old_fqdn="$old_dhcp6_fqdn" ;; esac if $if_configured && $if_up && [ "$reason" != ROUTERADVERT ]; then set_hostname fi # Sample dhcpcd hook script for NTP # It will configure either one of NTP, OpenNTP or Chrony (in that order) # and will default to NTP if no default config is found. # Like our resolv.conf hook script, we store a database of ntp.conf files # and merge into /etc/ntp.conf # You can set the env var NTP_CONF to override the derived default on # systems with >1 NTP client installed. # Here is an example for OpenNTP # dhcpcd -e NTP_CONF=/usr/pkg/etc/ntpd.conf # or by adding this to /etc/dhcpcd.conf # env NTP_CONF=/usr/pkg/etc/ntpd.conf # or by adding this to /etc/dhcpcd.enter-hook # NTP_CONF=/usr/pkg/etc/ntpd.conf # To use Chrony instead, simply change ntpd.conf to chrony.conf in the # above examples. : ${ntp_confs:=ntp.conf ntpd.conf chrony.conf} : ${ntp_conf_dirs=/etc /etc/chrony /usr/pkg/etc /usr/local/etc} ntp_conf_dir="$state_dir/ntp.conf" # If NTP_CONF is not set, work out a good default if [ -z "$NTP_CONF" ]; then for d in ${ntp_conf_dirs}; do for f in ${ntp_confs}; do if [ -e "$d/$f" ]; then NTP_CONF="$d/$f" break 2 fi done done [ -e "$NTP_CONF" ] || NTP_CONF=/etc/ntp.conf fi # Derive service name from configuration if [ -z "$ntp_service" ]; then case "$NTP_CONF" in *chrony.conf) ntp_service=chronyd;; *) ntp_service=ntpd;; esac fi # Debian has a separate file for DHCP config to avoid stamping on # the master. if [ "$ntp_service" = ntpd ] && command -v invoke-rc.d >/dev/null 2>&1; then [ -e /var/lib/ntp ] || mkdir /var/lib/ntp : ${ntp_service:=ntp} : ${NTP_DHCP_CONF:=/var/lib/ntp/ntp.conf.dhcp} fi : ${ntp_restart_cmd:=service_condcommand $ntp_service restart} ntp_conf=${NTP_CONF} NL=" " build_ntp_conf() { cf="$state_dir/ntp.conf.$ifname" # Build a list of interfaces interfaces=$(list_interfaces "$ntp_conf_dir") header= servers= if [ -n "$interfaces" ]; then # Build the header for x in ${interfaces}; do header="$header${header:+, }$x" done # Build a server list srvs=$(cd "$ntp_conf_dir"; key_get_value "server " $interfaces) if [ -n "$srvs" ]; then for x in $(uniqify $srvs); do servers="${servers}server $x$NL" done fi fi # Merge our config into ntp.conf [ -e "$cf" ] && rm -f "$cf" [ -d "$ntp_conf_dir" ] || mkdir -p "$ntp_conf_dir" if [ -n "$NTP_DHCP_CONF" ]; then [ -e "$ntp_conf" ] && cp "$ntp_conf" "$cf" ntp_conf="$NTP_DHCP_CONF" elif [ -e "$ntp_conf" ]; then remove_markers "$signature_base" "$signature_base_end" \ "$ntp_conf" > "$cf" fi if [ -n "$servers" ]; then echo "$signature_base${header:+ $from }$header" >> "$cf" printf %s "$servers" >> "$cf" echo "$signature_base_end${header:+ $from }$header" >> "$cf" else [ -e "$ntp_conf" ] && [ -e "$cf" ] || return fi # If we changed anything, restart ntpd if change_file "$ntp_conf" "$cf"; then [ -n "$ntp_restart_cmd" ] && eval $ntp_restart_cmd fi } add_ntp_conf() { cf="$ntp_conf_dir/$ifname" [ -e "$cf" ] && rm "$cf" [ -d "$ntp_conf_dir" ] || mkdir -p "$ntp_conf_dir" if [ -n "$new_ntp_servers" ]; then for x in $(uniqify $new_ntp_servers); do echo "server $x" >> "$cf" done fi build_ntp_conf } remove_ntp_conf() { if [ -e "$ntp_conf_dir/$ifname" ]; then rm "$ntp_conf_dir/$ifname" fi build_ntp_conf } # For ease of use, map DHCP6 names onto our DHCP4 names case "$reason" in BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6) new_ntp_servers="$new_dhcp6_sntp_servers $new_dhcp6_ntp_server_addr $new_dhcp6_ntp_server_fqdn" ;; esac if $if_configured; then if $if_up; then add_ntp_conf elif $if_down; then remove_ntp_conf fi fi #!/bin/sh # dhcpcd client configuration script # Handy variables and functions for our hooks to use ifname="$interface${protocol+.}$protocol" from=from signature_base="# Generated by dhcpcd" signature="$signature_base $from $ifname" signature_base_end="# End of dhcpcd" signature_end="$signature_base_end $from $ifname" state_dir=/run/dhcpcd/hook-state _detected_init=false : ${if_up:=false} : ${if_down:=false} : ${syslog_debug:=false} # Ensure that all arguments are unique uniqify() { result= for i do case " $result " in *" $i "*);; *) result="$result${result:+ }$i";; esac done echo "$result" } # List interface config files in a directory. # If dhcpcd is running as a single instance then it will have a list of # interfaces in the preferred order. # Otherwise we just use what we have. list_interfaces() { ifaces= for i in $interface_order; do for x in "$1"/$i.*; do [ -f "$x" ] && ifaces="$ifaces${ifaces:+ }${x##*/}" done done for x in "$1"/*; do [ -f "$x" ] && ifaces="$ifaces${ifaces:+ }${x##*/}" done uniqify $ifaces } # Trim function trim() { var="$*" var=${var#"${var%%[![:space:]]*}"} var=${var%"${var##*[![:space:]]}"} if [ -z "$var" ]; then # So it seems our shell doesn't support wctype(3) patterns # Fall back to sed var=$(echo "$*" | sed -e 's/^[[:space:]]*//;s/[[:space:]]*$//') fi printf %s "$var" } # We normally use sed to extract values using a key from a list of files # but sed may not always be available at the time. key_get_value() { key="$1" shift if command -v sed >/dev/null 2>&1; then sed -n "s/^$key//p" $@ else for x do while read line; do case "$line" in "$key"*) echo "${line##$key}";; esac done < "$x" done fi } # We normally use sed to remove markers from a configuration file # but sed may not always be available at the time. remove_markers() { m1="$1" m2="$2" in_marker=0 shift; shift if command -v sed >/dev/null 2>&1; then sed "/^$m1/,/^$m2/d" $@ else for x do while read line; do case "$line" in "$m1"*) in_marker=1;; "$m2"*) in_marker=0;; *) [ $in_marker = 0 ] && echo "$line";; esac done < "$x" done fi } # Compare two files. comp_file() { [ -e "$1" ] && [ -e "$2" ] || return 1 if command -v cmp >/dev/null 2>&1; then cmp -s "$1" "$2" elif command -v diff >/dev/null 2>&1; then diff -q "$1" "$2" >/dev/null else # Hopefully we're only working on small text files ... [ "$(cat "$1")" = "$(cat "$2")" ] fi } # Compare two files. # If different, replace first with second otherwise remove second. change_file() { if [ -e "$1" ]; then if comp_file "$1" "$2"; then rm -f "$2" return 1 fi fi cat "$2" > "$1" rm -f "$2" return 0 } # Compare two files. # If different, copy or link depending on target type copy_file() { if [ -h "$2" ]; then [ "$(readlink "$2")" = "$1" ] && return 1 ln -sf "$1" "$2" else comp_file "$1" "$2" && return 1 cat "$1" >"$2" fi } # Save a config file save_conf() { if [ -f "$1" ]; then rm -f "$1-pre.$interface" cat "$1" > "$1-pre.$interface" fi } # Restore a config file restore_conf() { [ -f "$1-pre.$interface" ] || return 1 cat "$1-pre.$interface" > "$1" rm -f "$1-pre.$interface" } # Write a syslog entry syslog() { lvl="$1" if [ "$lvl" = debug ]; then ${syslog_debug} || return 0 fi [ -n "$lvl" ] && shift [ -n "$*" ] || return 0 case "$lvl" in err|error) echo "$interface: $*" >&2;; *) echo "$interface: $*";; esac if command -v logger >/dev/null 2>&1; then logger -p daemon."$lvl" -t dhcpcd-run-hooks "$interface: $*" fi } # Check for a valid name as per RFC952 and RFC1123 section 2.1 valid_domainname() { name="$1" [ -z "$name" ] || [ ${#name} -gt 255 ] && return 1 while [ -n "$name" ]; do label="${name%%.*}" [ -z "$label" ] || [ ${#label} -gt 63 ] && return 1 case "$label" in -*|_*|*-|*_) return 1;; *[![:alnum:]_-]*) return 1;; "$name") return 0;; esac name="${name#*.}" done return 0 } valid_domainname_list() { for name do valid_domainname "$name" || return $? done return 0 } # With the advent of alternative init systems, it's possible to have # more than one installed. So we need to try to guess what one we're # using unless overridden by configure. detect_init() { _service_exists="" _service_cmd="" _service_status="" [ -n "$_service_cmd" ] && return 0 if $_detected_init; then [ -n "$_service_cmd" ] return $? fi # Detect the running init system. # As systemd and OpenRC can be installed on top of legacy init # systems we try to detect them first. status="" : ${status:=status} if [ -x /bin/systemctl ] && [ -S /run/systemd/private ]; then _service_exists="/bin/systemctl --quiet is-enabled \$1.service" _service_status="/bin/systemctl --quiet is-active \$1.service" _service_cmd="/bin/systemctl \$2 --no-block \$1.service" elif [ -x /usr/bin/systemctl ] && [ -S /run/systemd/private ]; then _service_exists="/usr/bin/systemctl --quiet is-enabled \$1.service" _service_status="/usr/bin/systemctl --quiet is-active \$1.service" _service_cmd="/usr/bin/systemctl \$2 --no-block \$1.service" elif [ -x /sbin/rc-service ] && { [ -s /libexec/rc/init.d/softlevel ] || [ -s /run/openrc/softlevel ]; } then _service_exists="/sbin/rc-service -e \$1" _service_cmd="/sbin/rc-service \$1 -- -D \$2" elif [ -x /usr/sbin/invoke-rc.d ]; then _service_exists="/usr/sbin/invoke-rc.d --query --quiet \$1 start >/dev/null 2>&1 || [ \$? = 104 ]" _service_cmd="/usr/sbin/invoke-rc.d \$1 \$2" elif [ -x /sbin/service ]; then _service_exists="/sbin/service \$1 >/dev/null 2>&1" _service_cmd="/sbin/service \$1 \$2" elif [ -x /usr/sbin/service ]; then _service_exists="/usr/sbin/service \$1 $status >/dev/null 2>&1" _service_cmd="/usr/sbin/service \$1 \$2" elif [ -x /bin/sv ]; then _service_exists="/bin/sv status \$1 >/dev/null 2>&1" _service_cmd="/bin/sv \$2 \$1" elif [ -x /usr/bin/sv ]; then _service_exists="/usr/bin/sv status \$1 >/dev/null 2>&1" _service_cmd="/usr/bin/sv \$2 \$1" elif [ -e /etc/slackware-version ] && [ -d /etc/rc.d ]; then _service_exists="[ -x /etc/rc.d/rc.\$1 ]" _service_cmd="/etc/rc.d/rc.\$1 \$2" _service_status="/etc/rc.d/rc.\$1 status >/dev/null 2>&1" else for x in /etc/init.d/rc.d /etc/rc.d /etc/init.d; do if [ -d $x ]; then _service_exists="[ -x $x/\$1 ]" _service_cmd="$x/\$1 \$2" _service_status="$x/\$1 $status >/dev/null 2>&1" break fi done if [ -e /etc/arch-release ]; then _service_status="[ -e /var/run/daemons/\$1 ]" elif [ "$x" = "/etc/rc.d" ] && [ -e /etc/rc.d/rc.subr ]; then _service_status="$x/\$1 check >/dev/null 2>&1" fi fi _detected_init=true if [ -z "$_service_cmd" ]; then syslog err "could not detect a useable init system" return 1 fi return 0 } # Check a system service exists service_exists() { if [ -z "$_service_exists" ]; then detect_init || return 1 fi eval $_service_exists } # Send a command to a system service service_cmd() { if [ -z "$_service_cmd" ]; then detect_init || return 1 fi eval $_service_cmd } # Send a command to a system service if it is running service_status() { if [ -z "$_service_cmd" ]; then detect_init || return 1 fi if [ -n "$_service_status" ]; then eval $_service_status else service_command $1 status >/dev/null 2>&1 fi } # Handy macros for our hooks service_command() { service_exists $1 && service_cmd $1 $2 } service_condcommand() { service_exists $1 && service_status $1 && service_cmd $1 $2 } # We source each script into this one so that scripts run earlier can # remove variables from the environment so later scripts don't see them. # Thus, the user can create their dhcpcd.enter/exit-hook script to configure # /etc/resolv.conf how they want and stop the system scripts ever updating it. for hook in \ /etc/dhcpcd.enter-hook \ /usr/lib/dhcpcd/dhcpcd-hooks/* \ /etc/dhcpcd.exit-hook do case "$hook" in */*~) continue;; esac for skip in $skip_hooks; do case "$hook" in */"$skip") continue 2;; */[0-9][0-9]"-$skip") continue 2;; */[0-9][0-9]"-$skip.sh") continue 2;; esac done if [ -f "$hook" ]; then . "$hook" fi done # Start, reconfigure and stop wpa_supplicant per wireless interface. # # This is only needed when using wpa_supplicant-2.5 or older, OR # when wpa_supplicant has not been built with CONFIG_MATCH_IFACE, OR # wpa_supplicant was launched without the -M flag to activate # interface matching. if [ -z "$wpa_supplicant_conf" ]; then for x in \ /etc/wpa_supplicant/wpa_supplicant-"$interface".conf \ /etc/wpa_supplicant/wpa_supplicant.conf \ /etc/wpa_supplicant-"$interface".conf \ /etc/wpa_supplicant.conf \ ; do if [ -s "$x" ]; then wpa_supplicant_conf="$x" break fi done fi : ${wpa_supplicant_conf:=/etc/wpa_supplicant.conf} wpa_supplicant_ctrldir() { dir=$(key_get_value "[[:space:]]*ctrl_interface=" \ "$wpa_supplicant_conf") dir=$(trim "$dir") case "$dir" in DIR=*) dir=${dir##DIR=} dir=${dir%%[[:space:]]GROUP=*} dir=$(trim "$dir") ;; esac printf %s "$dir" } wpa_supplicant_start() { # If the carrier is up, don't bother checking anything [ "$ifcarrier" = "up" ] && return 0 # Pre flight checks if [ ! -s "$wpa_supplicant_conf" ]; then syslog warn \ "$wpa_supplicant_conf does not exist" syslog warn "not interacting with wpa_supplicant(8)" return 1 fi dir=$(wpa_supplicant_ctrldir) if [ -z "$dir" ]; then syslog warn \ "ctrl_interface not defined in $wpa_supplicant_conf" syslog warn "not interacting with wpa_supplicant(8)" return 1 fi wpa_cli -p "$dir" -i "$interface" status >/dev/null 2>&1 && return 0 syslog info "starting wpa_supplicant" driver=${wpa_supplicant_driver:+-D}$wpa_supplicant_driver err=$(wpa_supplicant -B -c"$wpa_supplicant_conf" -i"$interface" \ "$driver" 2>&1) errn=$? if [ $errn != 0 ]; then syslog err "failed to start wpa_supplicant" syslog err "$err" fi return $errn } wpa_supplicant_reconfigure() { dir=$(wpa_supplicant_ctrldir) [ -z "$dir" ] && return 1 if ! wpa_cli -p "$dir" -i "$interface" status >/dev/null 2>&1; then wpa_supplicant_start return $? fi syslog info "reconfiguring wpa_supplicant" err=$(wpa_cli -p "$dir" -i "$interface" reconfigure 2>&1) errn=$? if [ $errn != 0 ]; then syslog err "failed to reconfigure wpa_supplicant" syslog err "$err" fi return $errn } wpa_supplicant_stop() { dir=$(wpa_supplicant_ctrldir) [ -z "$dir" ] && return 1 wpa_cli -p "$dir" -i "$interface" status >/dev/null 2>&1 || return 0 syslog info "stopping wpa_supplicant" err=$(wpa_cli -i"$interface" terminate 2>&1) errn=$? if [ $errn != 0 ]; then syslog err "failed to stop wpa_supplicant" syslog err "$err" fi return $errn } if [ "$ifwireless" = "1" ] && \ command -v wpa_supplicant >/dev/null 2>&1 && \ command -v wpa_cli >/dev/null 2>&1 then case "$reason" in PREINIT) wpa_supplicant_start;; RECONFIGURE) wpa_supplicant_reconfigure;; DEPARTED|STOPPED) wpa_supplicant_stop;; esac fi # Configure timezone : ${localtime:=/etc/localtime} set_zoneinfo() { [ -z "$new_tzdb_timezone" ] && return 0 zoneinfo_dir= for d in \ /usr/share/zoneinfo \ /usr/lib/zoneinfo \ /var/share/zoneinfo \ /var/zoneinfo \ ; do if [ -d "$d" ]; then zoneinfo_dir="$d" break fi done if [ -z "$zoneinfo_dir" ]; then syslog warning "timezone directory not found" return 1 fi zone_file="$zoneinfo_dir/$new_tzdb_timezone" if [ ! -e "$zone_file" ]; then syslog warning "no timezone definition for $new_tzdb_timezone" return 1 fi if copy_file "$zone_file" "$localtime"; then syslog info "timezone changed to $new_tzdb_timezone" fi } # For ease of use, map DHCP6 names onto our DHCP4 names case "$reason" in BOUND6|RENEW6|REBIND6|REBOOT6|INFORM6) new_tzdb_timezone="$new_dhcp6_tzdb_timezone" ;; esac if $if_configured && $if_up; then set_zoneinfo fi # Lookup the hostname in DNS if not set lookup_hostname() { [ -z "$new_ip_address" ] && return 1 # Silly ISC programs love to send error text to stdout if command -v dig >/dev/null 2>&1; then h=$(dig +short -x $new_ip_address) if [ $? = 0 ]; then echo "$h" | sed 's/\.$//' return 0 fi elif command -v host >/dev/null 2>&1; then h=$(host $new_ip_address) if [ $? = 0 ]; then echo "$h" \ | sed 's/.* domain name pointer \(.*\)./\1/' return 0 fi elif command -v getent >/dev/null 2>&1; then h=$(getent hosts $new_ip_address) if [ $? = 0 ]; then echo "$h" | sed 's/[^ ]* *\([^ ]*\).*/\1/' return 0 fi fi return 1 } set_hostname() { if [ -z "${new_host_name}${new_fqdn_name}" ]; then export new_host_name="$(lookup_hostname)" fi } if $if_up; then set_hostname fi # Sample dhcpcd hook for ypbind # This script is only suitable for the Linux version. ypbind_pid() { [ -s /var/run/ypbind.pid ] && cat /var/run/ypbind.pid } make_yp_conf() { [ -z "${new_nis_domain}${new_nis_servers}" ] && return 0 cf=/etc/yp.conf."$ifname" rm -f "$cf" echo "$signature" > "$cf" prefix= if [ -n "$new_nis_domain" ]; then if ! valid_domainname "$new_nis_domain"; then syslog err "Invalid NIS domain name: $new_nis_domain" rm -f "$cf" return 1 fi domainname "$new_nis_domain" if [ -n "$new_nis_servers" ]; then prefix="domain $new_nis_domain server " else echo "domain $new_nis_domain broadcast" >> "$cf" fi else prefix="ypserver " fi for x in $new_nis_servers; do echo "$prefix$x" >> "$cf" done save_conf /etc/yp.conf cat "$cf" > /etc/yp.conf rm -f "$cf" pid="$(ypbind_pid)" if [ -n "$pid" ]; then kill -HUP "$pid" fi } restore_yp_conf() { [ -n "$old_nis_domain" ] && domainname "" restore_conf /etc/yp.conf || return 0 pid="$(ypbind_pid)" if [ -n "$pid" ]; then kill -HUP "$pid" fi } if $if_configured; then if $if_up; then make_yp_conf elif $if_down; then restore_yp_conf fi fi #!/sbin/openrc-run description="DHCP Client Daemon" command="/sbin/dhcpcd" command_args="-q -B ${command_args:-}" command_background="true" pidfile="/run/dhcpcd/pid" depend() { provide net need localmount use logger network after bootmisc modules before dns } start_pre() { checkpath -d /run/dhcpcd } # See doas.conf(5) and doas.d(5) for configuration details. # Configuration here may be overridden by /etc/doas.d/*.conf if files exist. # Uncomment to allow group "wheel" to become root. # permit persist :wheel # e2scrub configuration file # Uncomment to enable automatic periodic runs of e2scrub_all # (either via cron or via a systemd timer) # periodic_e2scrub=1 # e-mail destination used by e2scrub_fail when problems are found with # the file system. # recipient=root # e-mail sender used by e2scrub_fail when problems are found with # the file system. # sender=e2scrub@host.domain.name # Snapshots will be created to run fsck; the snapshot will be of this size. # snap_size_mb=256 # Set this to 1 to enable fstrim for everyone. # fstrim=0 # Arguments passed into e2fsck. # e2fsck_opts="-vtt" # Set this to 1 to have e2scrub_all scrub all LVs, not just the mounted ones. # scrub_all=0 [defaults] base_features = sparse_super,large_file,filetype,resize_inode,dir_index,ext_attr default_mntopts = acl,user_xattr enable_periodic_fsck = 0 blocksize = 4096 inode_size = 256 inode_ratio = 16384 [fs_types] ext3 = { features = has_journal } ext4 = { features = has_journal,extent,huge_file,flex_bg,metadata_csum,metadata_csum_seed,64bit,dir_nlink,extra_isize,orphan_file } small = { blocksize = 1024 inode_ratio = 4096 } floppy = { blocksize = 1024 inode_ratio = 8192 } big = { inode_ratio = 32768 } huge = { inode_ratio = 65536 } news = { inode_ratio = 4096 } largefile = { inode_ratio = 1048576 blocksize = -1 } largefile4 = { inode_ratio = 4194304 blocksize = -1 } hurd = { blocksize = 4096 inode_size = 128 warn_y2038_dates = 0 } #!/bin/sh # Copyright 2007-2013 Gentoo Foundation # Copyright 2007-2013 Mike Frysinger # Copyright 2014-2015 Natanael Copa # Distributed under the terms of the GNU General Public License v2 argv0=${0##*/} version=1.27 : "${ROOT:=/}" [ "${ROOT}" = "${ROOT%/}" ] && ROOT="${ROOT}/" [ "${ROOT}" = "${ROOT#/}" ] && ROOT="${PWD}/${ROOT}" version() { exec echo "lddtree-${version}" } error() { echo "${argv0}: $*" 1>&2 ret=1 return 1 } # functions for scanelf backend elf_rpath_scanelf() { # shellcheck disable=SC2317 scanelf -qF '#F%r' "$@" } elf_interp_scanelf() { # shellcheck disable=SC2317 scanelf -qF '#F%i' "$@" } elf_needed_scanelf() { # shellcheck disable=SC2317 scanelf -qF '#F%n' "$@" } elf_specs_scanelf() { # %a = machine (EM) type # %M = EI class # %D = endian # %I = osabi # With glibc, the NONE, SYSV, GNU, and LINUX OSABI's are compatible. # LINUX and GNU are the same thing, as are NONE and SYSV, so normalize # GNU & LINUX to NONE. #442024 #464380 # shellcheck disable=SC2317 scanelf -BF '#F%a %M %D %I' "$1" | \ sed -E 's: (LINUX|GNU)$: NONE:' } # functions for binutils backend elf_rpath_binutils() { # shellcheck disable=SC2317 objdump -x "$@" | awk '$1 == "RUNPATH" { if($2!="") {runpath=$2;} } $1 == "RPATH" { if($2!="") {rpath=$2;} } END { if(runpath!="") {print runpath;} else {print rpath;} }' } elf_interp_binutils() { # readelf -p .interp ouputs: # # String dump of section '.interp': # [ 0] /lib/ld-musl-x86_64.so.1 # # shellcheck disable=SC2317 readelf -p .interp "$1" | sed -E -n '/\[\s*[0-9]\]/s/^\s*\[.*\]\s*(.*)/\1/p' } elf_needed_binutils() { # shellcheck disable=SC2317 objdump -x "$@" | awk '$1 == "NEEDED" { line=line sep $2 ; sep="," } END { print line }' } elf_specs_binutils() { # get Class, Data, Machine and OS/ABI. # the OS/ABI 'GNU', 'System V' and 'Linux' are compatible so normalize # shellcheck disable=SC2317 readelf -h "$1" \ | awk -F: '$1 ~ /Class|Data|Machine|OS.ABI/ {gsub(/^ +/, "", $2); print $2}' \ | sed -E -e 's/UNIX - (System V|Linux|GNU)/UNIX/' \ | tr '\n' ' ' } # elf wrapper functions elf_rpath() { elf_rpath_$BACKEND "$@"; } elf_interp() { elf_interp_$BACKEND "$@"; } elf_needed() { elf_needed_$BACKEND "$@"; } elf_specs() { elf_specs_$BACKEND "$1"; } unset lib_paths_fallback for p in "${ROOT}"lib* "${ROOT}"usr/lib* "${ROOT}"usr/local/lib*; do lib_paths_fallback="${lib_paths_fallback}${lib_paths_fallback:+:}${p}" done c_ldso_paths_loaded='false' find_elf() { _find_elf='' local elf="$1" needed_by="$2" interp= if [ "${elf}" != "${elf##*/}" ] && [ -e "${elf}" ] ; then _find_elf=${elf} return 0 else check_paths() { local elf="$1" local pathstr="$2" IFS=: # shellcheck disable=SC2086 set -- $pathstr unset IFS local path pe for path ; do : "${path:=${PWD}}" if [ "${path#"${ROOT}"}" = "${path}" ]; then path="${ROOT}${path#/}" fi pe="${path%/}/${elf#/}" if [ -e "${pe}" ] ; then if [ "$(elf_specs "${pe}")" = "${elf_specs}" ] ; then _find_elf=${pe} return 0 fi fi done return 1 } if [ "${c_last_needed_by}" != "${needed_by}" ] ; then c_last_needed_by="${needed_by}" c_last_needed_by_rpaths=$(elf_rpath "${needed_by}" | \ sed -E -e 's|:| |g' -e "s:[$](ORIGIN|\{ORIGIN\}):${needed_by%/*}:") fi if [ -n "${c_last_needed_by_rpaths}" ]; then check_paths "${elf}" "${c_last_needed_by_rpaths}" && return 0 fi if [ -n "${LD_LIBRARY_PATH}" ] ; then check_paths "${elf}" "${LD_LIBRARY_PATH}" fi if ! ${c_ldso_paths_loaded} ; then c_ldso_paths_loaded='true' c_ldso_paths= read_ldso_conf() { local line p for p ; do # if the glob didnt match anything #360041, # or the files arent readable, skip it [ -r "${p}" ] || continue while read -r line ; do case ${line} in "#"*) ;; "include "*) read_ldso_conf "${line#* }" ;; *) c_ldso_paths="$c_ldso_paths:${ROOT}${line#/}";; esac done <"${p}" done } local _oldpwd="$PWD" # the 'include' command is relative if cd "$ROOT"etc 2>/dev/null; then interp=$(elf_interp "${needed_by}") local ldso_conf="${ROOT}"etc/ld.so.conf case "$interp" in */ld-musl-*) ldso_conf="${interp%.so*}" ldso_conf="${ROOT}"etc/${ldso_conf##*/}.path ;; esac if [ -r "$ldso_conf" ]; then read_ldso_conf "$ldso_conf" fi cd "$_oldpwd" || return fi fi if [ -n "${c_ldso_paths}" ] ; then check_paths "${elf}" "${c_ldso_paths}" && return 0 fi check_paths "${elf}" "${lib_paths_ldso:-${lib_paths_fallback}}" && return 0 fi return 1 } list_existing_file() { if [ -e "$1" ]; then echo "$1" else echo "$1: Not found." >&2 fi } # echo all intermediate symlinks and return the resolved path in # global variable _resolv_links resolv_links() { _resolv_links="$1" _list_files="$2" local oldpwd="$PWD" [ "$_list_files" = yes ] && list_existing_file "${_resolv_links}" cd "${_resolv_links%/*}" || return while [ -L "$_resolv_links" ]; do _resolv_links=$(readlink "$_resolv_links") case "$_resolv_links" in /*) _resolv_links="${ROOT}${_resolv_links#/}" cd "${_resolv_links%/*}" || break ;; */*) cd "${_resolv_links%/*}" || break ;; esac _resolv_links=$(pwd -P)/${_resolv_links##*/} [ "$_list_files" = yes ] && list_existing_file "${_resolv_links}" done cd "$oldpwd" || return } show_elf() { local elf="$1" indent="$2" parent_elfs="$3" local rlib lib libs local resolved find_elf "${elf}" resolved=${_find_elf} elf=${elf##*/} ${LIST} || printf "%${indent}s%s => " "" "${elf}" case ",${parent_elfs}," in *,${elf},*) ${LIST} || printf "!!! circular loop !!!\n" return ;; esac parent_elfs="${parent_elfs},${elf}" if ${LIST} ; then resolv_links "${resolved:-$1}" yes else resolv_links "${resolved:-$1}" no printf "%s" "${resolved:-not found}" fi resolved=${_resolv_links} if [ "${indent:-0}" -eq 0 ] ; then local elf_specs interp full_interp elf_specs=$(elf_specs "${resolved}") interp=$(elf_interp "${resolved}") # ignore interpreters that do not have absolute path [ "${interp#/}" = "${interp}" ] && interp= [ -n "${interp}" ] && interp="${ROOT}${interp#/}" if ${LIST} ; then [ -n "${interp}" ] && resolv_links "${interp}" yes else printf "%s" " (interpreter => ${interp:-none})" fi if [ -r "${interp}" ] ; then # Extract the default lib paths out of the ldso. lib_paths_ldso=$( strings "${interp}" | \ sed -nr -e "/^\/.*lib/{s|^/?|${ROOT}|;s|/$||;s|/?:/?|:${ROOT}|g;p}" | \ tr '\n' ':' ) fi full_interp=${interp} interp=${interp##*/} # If we are in non-list mode, then we want to show the "duplicate" interp # lines -- first the header (interp=>xxx), and then the DT_NEEDED line to # show that the ELF is directly linked against the interp. # If we're in list mode though, we only want to show the interp once. ${LIST} && allhits="${allhits},${interp}" fi ${LIST} || printf "\n" [ -z "${resolved}" ] && return libs=$(elf_needed "${resolved}") local my_allhits if ! ${SHOW_ALL} ; then my_allhits="${allhits}" allhits="${allhits},${libs}" fi oifs="$IFS" IFS=, # shellcheck disable=SC2086 set -- ${libs} IFS="$oifs" for lib; do lib=${lib##*/} # No need for leading comma w/my_allhits as we guarantee it always # starts with one due to the way we append the value above. case "${my_allhits}," in *,${lib},*) continue;; esac # If the interp is being linked against directly, re-use the existing # full path rather than perform a search for it. When systems symlink # the interp to a diff location, we might locate a different path, and # displaying both doesn't make sense as it doesn't match the runtime -- # the ldso won't load another copy of ldso into memory from the search # path, it'll re-use the existing copy that was loaded from the full # hardcoded path. if [ "${lib}" = "${interp}" ]; then rlib=${full_interp} else find_elf "${lib}" "${resolved}" rlib=${_find_elf} fi show_elf "${rlib:-${lib}}" $(( ${indent:-0} + 4)) "${parent_elfs}" done } usage() { cat <<-EOF Display ELF dependencies as a tree Usage: ${argv0} [options] ELFFILE... Options: -a, --all Show all duplicated dependencies -h, --help Show this help output -l, --flat Display output in a flat format --no-auto-root Do not automatically prefix input ELFs with ROOT -R, --root ROOT Use this ROOT filesystem tree -V, --version Show version information -x, --debug Run with debugging EOF } SHOW_ALL=false SET_X=false LIST=false AUTO_ROOT=true if ! OPTS=$(getopt -n "$argv0" -o "ahlR:Vx" -l "all,help,list,no-auto-root,root:,version,debug" -- "$@"); then usage >&2 exit 1 fi eval set -- "$OPTS" while true; do case "$1" in -a|--all) SHOW_ALL=true;; -x|--debug) SET_X=true;; -h|--help) usage; exit 0;; -V|--version) version;; -R|--root) shift; ROOT="$1";; -l|--list) LIST=true;; --no-auto-root) AUTO_ROOT=false;; --) shift; break;; esac shift done if [ -z "$1" ]; then usage >&2 exit 1 fi ${SET_X} && set -x if which scanelf >/dev/null 2>&1; then BACKEND=scanelf elif which objdump >/dev/null 2>&1 && which readelf >/dev/null 2>&1; then BACKEND=binutils else error "This tool needs either scanelf or binutils (objdump and readelf)" exit 1 fi ret=0 for elf ; do unset lib_paths_ldso unset c_last_needed_by if ${AUTO_ROOT} && [ -z "${elf##/*}" ] ; then elf="${ROOT}${elf#/}" fi if [ ! -e "${elf}" ] ; then error "${elf}: file does not exist" elif [ ! -r "${elf}" ] ; then error "${elf}: file is not readable" elif [ -d "${elf}" ] ; then if $LIST; then echo "${elf}" else error "${elf}: is a directory" fi else allhits="" [ "${elf##*/*}" = "${elf}" ] && elf="./${elf}" show_elf "${elf}" fi done exit ${ret} kernel/net/9p kernel/fs/9p kernel/drivers/block/aoe/*.ko* kernel/drivers/ata/*.ko* /bin/busybox /bin/sh /sbin/modprobe /lib/mdev /sbin/apk /etc/modprobe.d/*.conf /etc/mdev.conf /sbin/nlplug-findfs kernel/drivers/block/loop.ko* kernel/drivers/gpu/drm/tiny/simpledrm.ko* kernel/fs/overlayfs /sbin/bootchartd /usr/bin/ac /usr/bin/last /usr/bin/lastcomm /usr/sbin/dump-utmp /usr/sbin/dump-acct /usr/sbin/accton /usr/sbin/sa /sbin/btrfs kernel/arch/*/crypto/crc32* kernel/crypto/crc32* kernel/crypto/xxhash_generic.ko* kernel/fs/btrfs kernel/drivers/cdrom kernel/fs/isofs kernel/fs/cramfs /crypto_keyfile.bin /sbin/cryptsetup kernel/crypto/* kernel/arch/*/crypto/* kernel/drivers/md/dm-crypt.ko* kernel/drivers/md/dm-integrity.ko* kernel/drivers/s390/block/dasd* /usr/share/udhcpc/default.script kernel/net/packet/af_packet.ko* kernel/drivers/net/ethernet/amazon kernel/arch/*/crypto/crc32* kernel/crypto/crc32* kernel/fs/ext4 kernel/fs/ext2 kernel/arch/*/crypto/crc32* kernel/crypto/crc32* kernel/fs/ext4 kernel/arch/*/crypto/crc32* kernel/crypto/crc32* kernel/fs/ext4 kernel/arch/*/crypto/crc32* kernel/crypto/crc32* kernel/fs/crypto/fscrypto kernel/fs/f2fs kernel/drivers/block/floppy.ko* kernel/fs/gfs2 /usr/bin/ssl_client kernel/fs/jfs /etc/keymap/* kernel/drivers/char/agp kernel/drivers/gpu kernel/drivers/i2c kernel/drivers/video kernel/arch/x86/video/fbdev.ko* kernel/drivers/gpu/drm/vc4/vc4.ko* /sbin/lvm kernel/drivers/md/dm-mod.ko* kernel/drivers/md/dm-snapshot.ko* kernel/drivers/md/dm-cache.ko* kernel/drivers/md/dm-raid.ko* kernel/drivers/md/dm-thin-pool.ko* kernel/drivers/md/dm-mirror.ko* kernel/drivers/md/dm-writecache.ko* kernel/drivers/mmc kernel/drivers/regulator /usr/sbin/nbd-client kernel/drivers/block/nbd.ko* /usr/share/udhcpc/default.script /usr/bin/ssl_client /etc/ssl/cert.pem /etc/ssl/certs/ca-certificates.crt kernel/drivers/net/ethernet kernel/drivers/net/phy kernel/net/packet/af_packet.ko* kernel/drivers/net/hyperv kernel/drivers/net/vmxnet3 kernel/drivers/virtio/virtio_pci.ko* kernel/drivers/net/virtio_net.ko* kernel/arch/*/crypto/crc32* kernel/crypto/crc32* kernel/drivers/acpi/nfit/* kernel/drivers/nvdimm/* kernel/drivers/nvme kernel/drivers/pci/controller/vmd.ko* kernel/fs/ocfs2 kernel/drivers/phy kernel/drivers/s390/net/qeth* /etc/mdadm.conf /sbin/mdadm kernel/drivers/md/raid* kernel/drivers/block/cciss* kernel/drivers/block/sx8* kernel/arch/*/crypto/crc32* kernel/crypto/crc32* kernel/fs/reiserfs kernel/drivers/scsi/* kernel/drivers/message/fusion kernel/fs/squashfs kernel/fs/ubifs kernel/drivers/usb/host kernel/drivers/usb/storage kernel/drivers/usb/dwc3 kernel/drivers/hid/usbhid kernel/drivers/hid/hid-apple.ko* kernel/drivers/hid/hid-asus.ko* kernel/drivers/hid/hid-cherry.ko* kernel/drivers/hid/hid-cougar.ko* kernel/drivers/hid/hid-generic.ko* kernel/drivers/hid/hid-lenovo.ko* kernel/drivers/hid/hid-logitech.ko* kernel/drivers/hid/hid-microsoft.ko* kernel/drivers/hid/hid-roccat.ko* kernel/drivers/hid/hid-semitek.ko* kernel/fs/fat kernel/fs/nls kernel/drivers/block/virtio* kernel/drivers/virtio kernel/drivers/net/virtio_net* kernel/drivers/char/hw_random/virtio-rng* kernel/drivers/char/virtio_console* kernel/fs/fuse/virtiofs* kernel/drivers/gpu/drm/virtio /usr/bin/wg /etc/wireguard/initrd.conf kernel/drivers/net/wireguard/wireguard.ko* kernel/drivers/pci/xen-pcifront.ko* /sbin/xfs_repair kernel/arch/*/crypto/crc32* kernel/crypto/crc32* kernel/fs/xfs kernel/drivers/s390/scsi/zfcp* /usr/sbin/zfs /usr/sbin/zpool extra/avl extra/nvpair extra/spl* extra/unicode extra/zcommon extra/zfs* extra/zpios ...{ 8>1OQat|D #. P* f#.#!/bin/sh # # Bootchart logger script # Ziga Mahkovec # # Modified heavily for Alpine Linux bootcharting # Timo Teras # # This script is used for data collection for the bootchart # boot performance visualization tool (http://www.bootchart.org). # # This script is tied to Alpine Init scripts and charts the # bootup procedure only. # VERSION=3.11.1-r0 PATH="/sbin:/bin:/usr/sbin:/usr/bin:$PATH" # Configuration for bootchartd, the bootchart logger script. TMPFS_SIZE=32m SAMPLE_PERIOD=0.2 PROCESS_ACCOUNTING="yes" BOOTLOG_DEST=/var/log/bootchart.tgz LOGDIR=/bootchart EXIT_PROC="mingetty agetty rungetty getty fgetty" # Monitoring commands log_cmd_1="cat /proc/stat" log_target_1=proc_stat.log # /proc/diskstats is available in 2.6 kernels log_cmd_2="cat /proc/diskstats" log_target_2=proc_diskstats.log log_cmd_3="cat /proc/[1-9]*/stat 2>/dev/null" log_target_3=proc_ps.log # Uncomment this line for diskless stations #log_cmd_4="cat /proc/net/dev" #log_target_4=proc_netdev.log max_log=3 do_logging() { # Enable process accounting if configured if [ "$PROCESS_ACCOUNTING" = "yes" ]; then [ -e kernel_pacct ] || : > kernel_pacct accton kernel_pacct > /dev/null fi # open file descriptors i=1 while [ $i -le $max_log ]; do eval target=\"\$log_target_$i\" if [ -z "$target" ]; then max_log=$i break fi fd=$((2 + $i)) eval exec $fd'>>$target' eval log_fd_$i=$fd i=$(($i + 1)) done not_stop_logging=true while $not_stop_logging && \ { ! pidof $EXIT_PROC >/dev/null; }; do if [ -r /proc/uptime ]; then # Write the time (in jiffies). read uptime < /proc/uptime uptime=${uptime%% [0-9]*} uptime=${uptime%.*}${uptime#*.} i=1 while [ $i -le $max_log ]; do eval fd=\$log_fd_$i\; cmd=\$log_cmd_$i { echo $uptime # Log the command output eval $cmd echo } >&$fd i=$(($i + 1)) done fi sleep $SAMPLE_PERIOD done # close file descriptors i=1 while [ $i -le $max_log ]; do eval fd=\$log_fd_$i eval exec $fd'>&-' i=$(($i + 1)) done [ -e kernel_pacct ] && accton off > /dev/null } # Stop the boot logger. The lock file is removed to force the loggers in # background to exit. Some final log files are created and then all log files # from the tmpfs are packaged and stored in $BOOTLOG_DEST. finalize() { # Stop process accounting if configured local pacct= [ -e kernel_pacct ] && pacct=kernel_pacct # Write system information # Log some basic information about the system. ( echo "version = $VERSION" echo "title = Boot chart for $( hostname | sed q ) ($( date ))" echo "system.uname = $( uname -srvm | sed q )" if [ -f /etc/alpine-release ]; then echo "system.release = $( sed q /etc/alpine-release )" elif [ -f /etc/gentoo-release ]; then echo "system.release = $( sed q /etc/gentoo-release )" elif [ -f /etc/SuSE-release ]; then echo "system.release = $( sed q /etc/SuSE-release )" elif [ -f /etc/debian_version ]; then echo "system.release = Debian GNU/$( uname -s ) $( cat /etc/debian_version )" elif [ -f /etc/frugalware-release ]; then echo "system.release = $( sed q /etc/frugalware-release )" elif [ -f /etc/pardus-release ]; then echo "system.release = $( sed q /etc/pardus-release )" else echo "system.release = $( sed 's/\\.//g;q' /etc/issue )" fi # Get CPU count local cpucount=$(grep -c '^processor' /proc/cpuinfo) if [ $cpucount -gt 1 -a -n "$(grep 'sibling.*2' /proc/cpuinfo)" ]; then # Hyper-Threading enabled cpucount=$(( $cpucount / 2 )) fi if grep -q '^model name' /proc/cpuinfo; then echo "system.cpu = $( grep '^model name' /proc/cpuinfo | sed q )"\ "($cpucount)" else echo "system.cpu = $( grep '^cpu' /proc/cpuinfo | sed q )"\ "($cpucount)" fi echo "system.kernel.options = $( sed q /proc/cmdline )" ) >> header # Package log files tar -zcf "$BOOTLOG_DEST" header $pacct *.log rm -rf "$LOGDIR" } case "$1" in start-initfs) mkdir -p "$LOGDIR" ( cleanup=true trap "not_stop_logging=false" USR1 trap "cleanup=false; not_stop_logging=false" USR2 cd "$LOGDIR" do_logging if $cleanup; then sleep $SAMPLE_PERIOD finalize fi ) & echo $! > "$LOGDIR"/bootchart.pid ;; stop-initfs) NEWROOT="$2" [ -x "$NEWROOT"/sbin/bootchartd ] || cp -a /sbin/bootchartd "$NEWROOT"/sbin rm -rf "$NEWROOT/$LOGDIR" PID=$(cat "$LOGDIR"/bootchart.pid) kill -USR2 $PID wait $PID mv "$LOGDIR" "$NEWROOT" ;; start-rootfs) ( trap "not_stop_logging=false" USR1 cd "$LOGDIR" do_logging finalize ) & shift exec "$@" ;; esac exit 0 #!/bin/sh VERSION=3.11.1-r0 sysconfdir="${SYSCONFDIR:-/etc/mkinitfs}" datadir="${DATADIR:-/usr/share/mkinitfs}" config="$sysconfdir"/mkinitfs.conf init="$datadir"/initramfs-init fstab="$datadir"/fstab passwd="$datadir"/passwd group="$datadir"/group startdir=$PWD initfscomp=gzip feature_files() { local dir="$1" local suffix="$2" local glob file fdir for f in $features; do for fdir in $features_dirs; do [ -f "$fdir/$f.$suffix" ] || continue for glob in $(sed -e '/^$/d' -e '/^#/d' -e "s|^/*|$dir|" "$fdir/$f.$suffix"); do for file in $glob; do if [ -d $file ]; then find $file -type f elif [ -e "$file" ]; then echo $file fi done done break done done } initfs_base() { local i= dirs= glob= file= for i in dev proc sys sbin bin run .modloop lib/modules media/cdrom \ etc/apk media/floppy media/usb newroot; do dirs="$dirs $tmpdir/$i" done mkdir -p $dirs local oldpwd="$PWD" cd "${basedir}" lddtree -R "$basedir" -l --no-auto-root \ $(feature_files "$basedir" files) \ \ | sed -e "s|^$basedir||" | sort -u \ | cpio --quiet -pdm "$tmpdir" || return 1 # copy init cd "$startdir" install -m755 "$init" "$tmpdir"/init || return 1 # copy modloop signature if [ -n "$modloop_sig" ]; then install -Dm644 "$modloop_sig" \ "$tmpdir"/var/cache/misc/${modloop_sig##*/} fi for i in "$fstab" "$passwd" "$group"; do install -Dm644 "$i" "$tmpdir"/etc/${i##*/} || return 1 done cd "$oldpwd" } find_kmod_deps() { awk -v prepend="/lib/modules/$kernel/" -v modulesdep="${basedir}lib/modules/$kernel/modules.dep" ' function recursedeps(k, j, dep) { if (k in visited) return; visited[k] = 1; split(deps[k], dep, " "); for (j in dep) recursedeps(dep[j]); print(prepend k); } BEGIN { if (modulesdep == "") modulesdep="modules.dep"; FS = ": "; while ( (getline < modulesdep) > 0) { if (substr($0,1,1) == "/") { gsub(prepend, "", $1); gsub(prepend, "", $2); } deps[$1] = $2; } } { mod[$0] = 1; } END { for (i in mod) recursedeps(i); }' } find_kmods() { local oldpwd="$PWD" cd "$kerneldir" || return 1 for file in $(feature_files "${kerneldir}/" modules); do echo ${file#${kerneldir%/}/} done | find_kmod_deps cd "$oldpwd" } initfs_kmods() { [ -z "$nokernel" ] || return 0 local glob= file= files= dirs= rm -rf "$tmpdir"/lib/modules # make sure we have modules.dep if ! [ -f "$kerneldir"/modules.dep ]; then depmod -b "${basedir}" $kernel fi local oldpwd="$PWD" cd "${basedir}" for file in $(find_kmods); do echo "${file#/}" # DO NOT return with 1 if there are no custom modules for initramfs done | sort -u | cpio --quiet -pdm "$tmpdir" mkdir -p "$tmpdir"/lib/modules/$kernel/ for file in modules.order modules.builtin modules.builtin.modinfo; do if [ -f "$kerneldir"/$file ]; then cp "$kerneldir"/$file "$tmpdir"/lib/modules/$kernel/ fi done depmod $kernel -b "$tmpdir" cd "$oldpwd" } initfs_firmware() { [ -z "$nokernel" ] || return 0 rm -rf "$tmpdir"/lib/firmware mkdir -p "$tmpdir"/lib/firmware find "$tmpdir"/lib/modules -type f -name "*.ko*" -exec modinfo -k $kernel -F firmware -- {} + | sort -u | while read FW; do for fname in "$FW" "$FW.zst" "$FW.xz"; do if [ -e "${basedir}/lib/firmware/$fname" ]; then local IFS=/ cur_path=lib/firmware # Copy the firmware while preserving symlinks to avoid duplication set -- $fname while [ "$#" -gt 0 ]; do cur_path=$cur_path/$1 shift if [ -L "$basedir/$cur_path" ] && [ ! -L "$tmpdir/$cur_path" ]; then mkdir -p "$tmpdir/${cur_path%/*}" cp -pP "$basedir/$cur_path" "$tmpdir/${cur_path%/*}/" set -- $(readlink -- "$basedir/$cur_path") "$@" cur_path=${cur_path%/*} fi done mkdir -p "$tmpdir/${cur_path%/*}" cp -pP "$basedir/$cur_path" "$tmpdir/${cur_path%/*}/" break fi done done return 0 } initfs_apk_keys() { mkdir -p "$tmpdir"/etc/apk/keys [ "$hostkeys" ] && cp "/etc/apk/keys/"* "$tmpdir"/etc/apk/keys/ if [ -d "${basedir}etc/apk/keys" ]; then cp "${basedir}etc/apk/keys/"* "$tmpdir"/etc/apk/keys/ fi } initfs_custom_files() { # shellcheck disable=SC2086 # word splitting is required for file in $custom_files; do if [ -f "$basedir"/$file ]; then mkdir -p "$tmpdir"/${file%/*} cp "$basedir"/$file "$tmpdir"/$file fi done } initfs_cpio() { if [ -n "$list_sources" ]; then (cd "$tmpdir" && find . | sort) return fi rm -f $outfile if [ -n "$SOURCE_DATE_EPOCH" ]; then # normalize timestamps find "$tmpdir" -exec touch -h -d "@$SOURCE_DATE_EPOCH" {} + fi umask 0077 (cd "$tmpdir" && find . | sort | cpio --quiet --renumber-inodes -o -H newc | $comp) > "$outfile" } cmd_exists() { local cmd="$1" if ! command -v "$cmd" >/dev/null 2>&1; then echo "Command \"$cmd\" is not available." exit 1 fi } usage() { cat <&2; exit 1;; esac done shift $(( $OPTIND - 1 )) if [ -e "$config" ]; then . "$config" fi [ -n "$myfeatures" ] && features="$myfeatures" if [ -n "$list_features" ]; then for dir in $features_dirs; do for i in $dir/*.files $dir/*.modules; do [ -e "$i" ] || continue file=${i##*/} echo ${file%.*} done done | sort -u exit 0 fi basedir="${basedir%/}/" [ "${basedir}" = "${basedir#/}" ] && basedir="${PWD}/${basedir}" if [ -z "$nokernel" ]; then [ -n "$1" ] && kernel="$1" [ -z "$kernel" ] && kernel=$(uname -r) kerneldir="${basedir}lib/modules/$kernel" kflavor=${kernel##*-} [ "$kflavor" = "$kernel" ] && kflavor=vanilla else kflavor=generic fi if [ -z "$outfile" ]; then outfile="${basedir}boot/initramfs-${kflavor}" fi if [ -z "$nokernel" ] && [ ! -d "$kerneldir" ]; then echo "$kerneldir does not exist or is not a directory" exit 1 fi if [ -n "$DEBUG_KMOD" ]; then find_kmods exit 0 fi if [ -z "$tmpdir" ]; then tmpdir=$(mktemp -d /tmp/mkinitfs.XXXXXX) else mkdir -p "$tmpdir" fi if [ -z "$keeptmp" ]; then [ -d "$tmpdir" ] && rm -rf "$tmpdir"/* fi if [ -z "$list_sources" ] && [ -z "$quiet" ]; then echo "==> initramfs: creating $outfile for $kernel" fi complevel_gzip="${complevel_gzip:--9}" complevel_xz="${complevel_xz:--9}" complevel_zstd="${complevel_zstd:--19}" complevel_lz4="${complevel_lz4:--12}" case "$initfscomp" in gzip) comp="$(command -v pigz 2>/dev/null || echo gzip) $complevel_gzip" ;; xz) cmd_exists xz; comp="xz -C crc32 -T0 $complevel_xz" ;; zstd) cmd_exists zstd; comp="zstd -T0 $complevel_zstd" ;; lz4) cmd_exists lz4; comp="lz4 --favor-decSpeed -lz $complevel_lz4" ;; none) comp="cat";; *) echo "Initramfs compression \"$initfscomp\" not supported!"; exit 1 ;; esac initfs_base \ && initfs_kmods \ && initfs_firmware \ && initfs_apk_keys \ && initfs_custom_files \ && initfs_cpio rc=$? # cleanup if [ -z "$keeptmp" ]; then [ -d "$tmpdir" ] && rm -rf "$tmpdir" fi exit $rc /dev/cdrom /media/cdrom iso9660 noauto,ro 0 0 /dev/fd0 /media/floppy vfat noauto 0 0 /dev/usbdisk /media/usb vfat noauto 0 0 root:x:0:root tty:x:5: disk:x:6:root lp:x:7:lp kmem:x:9: wheel:x:10:root floppy:x:11:root console:x:17: audio:x:18: cdrom:x:19: dialout:x:20:root input:x:23: tape:x:26:root video:x:27:root netdev:x:28: kvm:x:34:kvm shadow:x:42: ping:x:999: nogroup:x:65533: nobody:x:65534: root:x:0:0:root:/root:/bin/sh lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin nobody:x:65534:65534:nobody:/:/sbin/nologin # Soft dependencies extracted from modules themselves. softdep ext4 pre: crc32c softdep cifs gcm softdep cifs ccm softdep cifs aead2 softdep cifs sha512 softdep cifs sha256 softdep cifs cmac softdep cifs aes softdep cifs nls softdep cifs md5 softdep cifs hmac softdep cifs ecb softdep ksmbd pre: crc32 softdep ksmbd pre: gcm softdep ksmbd pre: ccm softdep ksmbd pre: aead2 softdep ksmbd pre: sha512 softdep ksmbd pre: sha256 softdep ksmbd pre: cmac softdep ksmbd pre: aes softdep ksmbd pre: nls softdep ksmbd pre: md5 softdep ksmbd pre: hmac softdep ksmbd pre: ecb softdep btrfs pre: blake2b-256 softdep btrfs pre: sha256 softdep btrfs pre: xxhash64 softdep btrfs pre: crc32c softdep f2fs pre: crc32 softdep lrw pre: ecb softdep libcrc32c pre: crc32c softdep ohci_pci pre: ehci_pci softdep uhci_hcd pre: ehci_pci softdep qat_4xxx pre: crypto-intel_qat softdep xt_LOG pre: nf_log_syslog softdep xt_NFLOG pre: nfnetlink_log softdep xt_TRACE pre: nf_log_syslog softdep mpls_iptunnel post: mpls_gso # Weak dependencies extracted from modules themselves. W asexariricomce&1bp  @250__ Nd_genericascicipherd_uncoren1_decoder_piixbdakL[et  &8 gqfmt_scriptrevntf_crypto_skciphergfs !owZuW_}UWUݓKlu:F :f&r =K"b;e6B{Uoi=YUV][ɯ >0NN\r8Q¬@Ȓ%!faer!%'2@0tٵyPbÑ^A2Rmd),kY= ıKv5WOj["0LWhP=Pzt )%UWYzr n \G b=p=D?{ȟOȟ/Ah" |HD'8H`"}>L$>8 pX D['\]{wD9/v{@}d-#E]u>2˖{)꒟[;&spcWqʸXus\4.us\4.GYs\4.QS>t i\3qkLk>c>v,󱝫193w-{igS^tu2 L@Kdm:I&gxd]"9A*y"k1~fd="F}^RϧkZ~`8t e"kq8CǡkHp0 !3x4Qkڿ'$YV&|s$`W.tU 5{L7,~9B| ;%<<%<%<<%<%6K>㘝r 3C4^87T9oXu700}rdWȽ'5JPݞ`Hiy)#,Wx'-.Tjc\kѩy=b/XZDžyN8ˉ-#褖쬰_yԌ͎_yvKSzZg B%9G-apWJc훾r;er\nTcs}.Iږ)6myLTݾPT֧:hpgjLm\Hzn=r>ٷcӴ^NڹyOMS "FLqQݢn|Tʼnm#ƵJZ[ [rdK߽tpw=A~| un C8`u Z>/'Q;y<އ[ }K?t%U6ZI.߽Nbջe_|Q諾utw<"kBu%3ÈA_%D}?XPm?o/Λwqu 7?7/:& kF/_u3K|I6hBİ󁕥]Noqx s06Y2lp*k߆1y U# J^JO@vHCYLl o+P@e9*N-r]NI|q%TFI˩B-ol yu _bյ GIСM\3Jla_)E_ K0 ܏iyoa)*d,cOwH6oCy'<@7]+5H/_/g+5MFތ\i~%[q(*%ƷCh"BxZXQ>o,ڃC!<2^a/GV'2CuϘ(Dވy*G+-V}R\?"Wrޣ)xbL~?G8>gOFlS%= F?A^/"ߨFWUyBnhhYݮ^j>)EϏ>"_/ƢQ݉JZ/7!V◇UeY*į +n>K~>#TJw6a(?F>ߑFTYOsZt݋vz8eǨ!Wd=pS)A {.z>i ;ګcBGk@5W Jh(|bZl9HWuj7hhgy3j ԓ6 }|֛o4{5ǥ|L=-_--=ZSCɵQU? FhTZ{l 䐈 ϭ򸪙yR?_yE-]zۢj_6ǜ˜y~ګBС]tf3PF~Q_E'ӣ0jW%^ǑN  72M|P'> {(.DͧV sw8Q}dA<7ngx±\+uߒ/ F>GV}M/&ݍ8" br=K(>zf |U. .j4 K/0:6oicbI5E9&2(ާ!??Cc|54066wS&o-VAqH-R9R츈_:>6wR]jx%Ż4433#|m'S|)qY{r_9!v?^a[mJi;jwMgzZ!7"s;g'i{RGy@tD*?#z(zc")N}NCKTUCC \aYFIx9/5RyFkx)3(nxߓ͢ z{Zhm| ?7 GyֳT|}+gy7!B_FnTȳU|!:E~?FNr))WPunAMqυ(VUGϤ*Z|`Q!$2`*ՎUFo|ᔂGVE%owo$"Do!Y~Hd% sS&0;#_zb'{B%c/q?`/)McL/(E,e &>c( QIK)E!eC/PƋ Cxћ2^8)/dg!}ː>6韃 x."g#=bǀ@7!<HN^wҽ@/C1Џ "Ǒ~ ]ݒ ̅ke'ըUtlQچ;ZlJR]JH8rڨ2B?_JPh46:[CWB#bN+V  rNr 6Q:ޘΓP$璼ˋYN.Ƅ$Kqa6 uZV-iyeK\ 9Ub1)6vrC'vBT$_rDz9Js;dȚ? 8_KKFc ڧηݼO)>ŝA?|7?Ra|'\K:o[{ϣ p|g~"ݑ}%>їQ" qR`1"[s^q'?OԮ&E_>Q0) y )|LkN\Ÿ+#l_[ tP'~P^/>Vr)6Ka}۷pq 'u2bRIõtf9:>waĦlM2F"ƨ W 1lFIȼ=;wuUX>pӘKL"c>p$ֽ_mYSٍ~~_kFovyf}X`CQ-+jG]>͗gpD~YIg gi%;fS}'yQX5gy7-N+wM-Zɚ-y;-OvjwO>96y_ݜj$čnca_{_E]2xRĽEkjJg[ܭn ^^?QU( oNS73# x^&cLVUТo}XAZC놗s"0{;}8=fԀc믤-d~|[A:t޲lc޹x-.)rwIӡG""*U_V3GgHQlȖNV2O77gƆUYZ?5$kDmC<-&yoֳfQ ZsG##gti8|.8@{Ppjj(ۨk3?4?66A)dsbHbP?k7}D U(e܎WHu^;$ڌB.`#^!MgnT WHumZZ.;kA;k;kA;kLb0mZZ.;kA;k4wxCHcͣv+J3Wڒj/nc?z4jGo7}[wֺ {-h\ax+lzrh\aǵ7+WإɍFڈ mxn9s}' !F8ɨo4=Aln6xZnoP=P]|GrfͰPuP QG HBWی|}1({K/.-|"JX+T`²ںw4F]_|F]|N }#46Wh_.D4 3Yjߕs6fx)_S{x(ZDQ""v\]Ajwf _{6v(\T%X6˂T 0$ABCμ9y3RmS;oL=BA}UZz?bڣA=洷=Z0n mkk ln<>'JÌ.Ϸں?Zğ0HuOc寢zٜVUk}o@/q޸ R}sr.x?).HP$$mdZ5pI6*\𵶬k]sw/[M󏱾zpOA;L N%'t Tx=_yjؚSýR}T Dc}e17AOGuRfo%mH}; k Ӡ|*d%zנpՖ`-ECSl. ǣ(.>9˜uKG7uP[-hryg PlE,j]%K4] uqs7&E<7w KIзc޹>ZjپXے/l.73G+lN[:7D)Z]l'luq㸯 u2ODJ&d j!'ՇTϸI +'e3mxp,"i2JleVw SFH)*";並BVʗ[pzUfH6جr'+gY1WxlvW3\趸H>xBt9rꩨJQ~dY--+0rNjT_Q굉a.MvK [b3[*mVGJqj 34h⨪r9%cfsvs|*W=N*,@D\nHK:tNEӃ-3y0D ܨn>|(1%~n-p7 -KpiCi|7!"H5*K^m?^&\/ǣ(rNӀ7./ +sҮ[|$_$wmI_Fŀg3F[ icH o!wWZɴl4A޾sؗ'DK,GsʆBYK`$>h&O^>]0;R]l_a,N1/3V`_e |R]O&akڭ/bfv \gs`=U&m/a`~xͶv0^rn~JDžB&)ގ(W3ctQnϙRzbTfڛk7b_~lj'WN18v"G21-~Wr8&LRDuHH]CZvX:]_dۣ x`+A?f1ݔp7 w\#jy}Zʰ/hDP_vm 'xi8|ܮd&!65vm0n e=e"|D?OO.gɜ:0B^HkE۟^Aw8!^˩p5;v9П~`GQx I?<11p*\RfxoRQHhg@n P];_ $3p&d AJSBs  .Ro'$&+:P; 9B>-Or?8 B`}a$iO'0Ļ$;pZ|六y]-`?m=#2|%A|-o#$[~C98<)B8yYxb@#81%AB?#(ہg %-5 N(7sw: 44GT$HOx\&'>R9]r#TǩH\0PME!8"S@>579PJk~P`"7OOd'2ݢ*|"ؿwh*.'. W <>zE<ѫp &CI,5'iY ϼnv-bZzfIG4#1u'n^Bd.-un|s,,6l:MImZ6d( 8,DPMKׇC|yȇ7= )6-dL/*e^.i]0i"\C&:rUYښ&wR#Y$ɡ*5UR\U0К*D61t!<v>oVN]rx!YMJ-,#Jkk.JQmzG\Cd::+?;)Nyⴝw+ۙMq'(N۳=c9)Nnv(N9ⴝ`t1./'kJJ&r}4Aa 4G3 ǁ 0o0 w |s)Bx)Cὡ(\#Oe'[c>R9" 'zgLlN7g?l? ǀ8p^6g̟l_<g?9'#|-KUɼgc89t2|pd5ý1A:H| s- 'O3< *p G1Ӯg|#+ofx6 'jçAq- !ɉ^{>~ӷAB^w.d|%2KɥT9J2,'Vd1l!ZnJK\&hq),k_h@N.۽)N)<5*ZmCשC.`R!y|+$YAuAť^[/čp M)*3cB_c >c:nSa|$2~|3DE*KE5U.HTFgY*[aSG+ȅݙ"]LupS cxpzn:H_(dW?+CE?q+(b.OW.U߭='c~dd8E*"&ϩٲ_Lu gJ 0]*Rbp~>^lb'Uҧ WϦ)bH,xFF9}6, B,HO n(_|٧m\xք_C_.#T2<諠?O!peo(Ճߡc?ME~r(aX=%*[A?X] hdoȑ}`?;H 09 >(@.\+ LVVibW 8p1xJcj,>X7Ͳ ҈ 1]^.,&6b҈5h=Rt)^.hȨ 1~ioX K:Z;&0kwY׆Wh^SO"~>_)j"rzv۫--<' U#Z梖Fp 9x!ܷ^{ˎ_׮߷kٖwz{NI=mjʊ&[_j:dҘ_G8|^3=ooJ׆GԺgz|ԋ/}嫒Or}Y{o^=W=~y~&4w}F7Oi6g!>۪&4NI;tr偷N.OTo9~nۛij4]|J5kglc؝*=?ܕ>)uCGFǸG/q*7O'm5IngVeR/3.>W./Mٽ"vݪUYbXދW|\Ŝ>-!p[5{ɞfkWN*vXT6"i_d9{vn>|n’GZ2or_ FeiuH⧹S&73>tL|!g$g%; &)u\Hdgp< XTUwLwg͠,K5WeN %]f`sf0u Ƒb۾oϲm{jrڕ{ELA {Fȹڮsys=a2/2jx :W&d"͹ջfbv4T(RS=lS*:VlU5[* uLZY};H%wѾ'MO:Uz]v]X XXj.wqc7?3ZX-5v`/S7?ͪcpf>@HBX'Wc?u^ 9QX(FV# ՈjDa5~ [ ʷ{HH?Xx /dVkoarK6FzcuQW娓$G]Mp c:v6]EF0.pl.۸^ O(}x7qpG'bT 26=:$:\)jX[&fDy}trP @-֊͗Ϡ(,dj|莕p;1]<@:o6"͗`~uSpo"ion" lP`թ|%  Lno"f jDa5QX(FV# ] +o6("q#Dx /EKAj=! /h lDgߺq*C_4ל8 >s~G~D+C2HWJ_-JmNo 2~ji.v*`8xR9WawQςU*d=QLX[RxƪUF ?mPv!V+bpˬ5^IZ 鷃 pvմUg@e G@jVPxk6wqͦ:sݢt[X}*(R!A  zX`h`'AO'-; ˨.eh]DBz/gP$/m68j /NP ٦ A2' ̪E)B)R5\˪_Be}YLR92xs+ojF^Ú$QL%TRI *[T6ؒ ,%T)PҠ2fB$*M[>_k#*^ie.\Vjp,\6|S ~8l'j/JY?wg찾,7`#O]KT5\Ĺz&SϦơzj_/+Kj|` = UnxmCok>v7M FO) 6ػ {Oh˶qS`I;;K*q<r `SvA;B;&[4,H3|%M|`qEn#_O,&Y)V7+=.i߻RַzHYا xZ<5~Tv}Vd"wY[*E@= X߷]=NV]?:NIDmbD*qJ4PQonVYhJV4%+Zg+V<.,+0؟G!JyZ#.yi#N V/baZь1ݻ kg?فO% 2M$L|3& |,mt̼1J\-tL Dwx#w:L؄kAF`] ʢe縋`( kn&U(3Zs 2V zrE $䭅|*~3ܯAPACZx^Kp8gn\"mqQld5=|xg^ :x>x3[p1}z=+t(2Ff{{04:)%ᔻOKM$K#*$KE?PiuE.˥.tc E%H"q '/$Q!IzITHu*$d-AR.|UEoqI?]Mgkq.r/>Jʽ)iI/yTs'>jp Xק]E"%3|XYcRxpdIVHZ_ۍ^upMWn/_L?򰔤'NֲQ r7jkBfHByeMA +pH Mgܑ5E:l_|] "%_JMLρ*^\/?.o| T {v]>I})΂g) I܋rxBh{]h@h7T 的v Jڠ w yFewN.4%??y'W|Vv7NѫY|d % 8LJ8MM48Oτ9p"-'B<!ϿA'I _G?2u1XH{iq# K\pi퉜0Qi"~PUFўitD.V~S;K  O^b朲c=#q"H )ԫ{V_Z.Hlz'i=D-/!v{IjݽVqߠ5wS@j@VUq? b$[B뾨Im(biϨDB$)%%'ZY+ [A{`wf@拶vm).h7C5"?{G@Dִ;qd%۔jke^8}>SG׮:k|_ħD)ʣuGXE/tsS/)58mPl?!@E|igiThh p~?D'vҀE<JD?W%‚h$(DK SKv i܉<ʸ(4*8UҀ{`0 !vˌ Q e^v /eaTD@I|cj:Ms;Vk߽&T@>h#M:^U@+&Zo.|2A TjJEk(/Ʒ-I۶NYP"ȓӞ(Uo! 2.,|#ƾui%hoGc:FfBol|_q@,tVڻ;ol=b]]Mjmdm-u_8ȷu89j Ѳh")ywE :a򹳷v4ڶ fWnaUL6QFvD(<@#/'2kM}uj '<@d(YT#2lua2jUbK;\rǚN;,,_[̢wJj?|Į\v%Nc/cJ\|O?Ŕ*aҝGjoMK]\`ro>qkcQ/"D'>#wѽ?FfKƟO\wKW^-oQ=ߋ=#"e?.:*B>*f09ܖlEJ]ypڋrFš Jթ38 NC^HPo9xJ 9l6]ҙ:\Nՙ &sA" RyGhCfnzj7: ̓]If2Ce2,2`cFsޤ~ngLgO`MY38,FFj2Zun=e̝9=Y5%yKv򡹙J,f9fkSd1Yuy؅ "p-Zhx"~ԗ+I=&"02F28S'-(y !eUXߣ3L_Owe`=X_^pTksqixd2%QMZ 3\> чaXK*δIbb01`za c9f՝!! }ςc?!Y IH2w\) W~݈ ӿFrQ s?VP! N.XT?8WAU!ur(B ur\+UR=nDfiSS[_kQq"Lx3?&Sx<= 瓂A%@*1S?tt+5p|xD\X/djC~X|7 E=B6p|8]о,cqa#2~Ɖʐ;q82HR,j 30P[0$̌3]HI_Yݒn(JRdfz/R{\45Ξ6Κs{6?k: /n' x= o"\%8]3?p+V1_{/?{Mp7Kg7UDM론?<㷼7j:窧\JeGy>(A n;U!PP5 cPτR'i?><;K+ !sUJZ!;v F;ْRpe B~1ÄCO~ Q2*fӭlH45Fi 4)0J f-Sh 6!;l *-h/E?U.|NE;i^]1B|@jKVg G !'"x 7"q axOE<߇G ;!Έπ5ı!o!֌8[Fo'~k Έc-EEı߮m_W ;%^py7;wc__S^>;N^~~|Axy_$zyECfĻ%y#'!nDqq\!_D<KaC|,1܂q<^+xUx1W㽃8ob"Da!:>8o x~8D>cp^g<8uSqGx#ҷwbe;͏U<NjO==j| E$z& =/@>~.Dq]~~g* x0♈ >0@?8+F<Tĵ|ƙ +PUp^0}q1>>SLN8χSFb9 $puԛAσ![3L»c |(O&{'C <xi!, .`+xw [._[#'6~^|1/%@wO>x=KAkx!S-Dx9̈́/o'<^P  ]_yuQ@'|0&|?G< O#!s"W踀  O-<&x0!20o z$u o;-# xou /t$ x!J&99Mx<Ox<'ihh~~P =-|4AH㓣i|3h|r3Fg2d̓4>4>Ɂ'|'Efi|:N84>8Ox O:IW4>1Y@8O ϏI'4> '> Hp7pCd4>:4>'#d6̇4>Y'ˁh|8O.i|r8O<?N8i ?‹gk6[%=Ԥ%r# p~$ίqlS.h?HY+qG"GRy<_ <_p~\> NG'nȺKޭ,?9eF\6$unm&^9llKLgrRp̀IUr[Zlke紸N@&cYX ZQCpnlZiJǶcu% aVXʊ-E_HIճںCe*dYWX=mijgig=Fu֩2uj2VguCw'[źy8½Hx|%bY GL'8}ĒcJ7‹vk_~bIEj?Mhxf?@H\ˎ`?p:ו~ /}J@py Hp)+7iH!rGX/ǯ#U:c0Y<"w%bEo{ۮ`Y_poU_ iV~ KP{7B[`{B)ppھYbyC'?Z$c?l!sr lI[ W!OA{DZ"~XFN?? u~]n@{n'?n!wf%_WM{稥mYp z,`ٿ_"bRxi}Jf?FJ7쯕CzCCa >~2wEF7COZ )o?pRi2B|eG@20*+C n.¾>;-.  jBp~C_^` j7ܨON շ lSP6kԬ)~b3b<}fJsmHהآĽ(I껳3!]=.fE M9\rƴgd cthi:@SY]۱[/,ۿXanMN*l̞reز/JҾG[kZKK_ hks{iC|΀̽{ιܐeLF>2j>567?I]ԝԳ#>g州g ŏ$ <,II =$&CE1ŲT?[aي,Pي$[˩V.+krh6}"ʶX` َӂ/Sg+S2lɀ85pmC| T3 @;^0e 882Z c}0ڀ}n|r@h5\aZ s Vo;mIY5C@!b3BC=DBC-DBC5XX`$hZ%B$H*c!rˀ B#c*J"FGeb^ f|@ D#T 4hDh$yy*!FJjR!Єm f6}24P걂y?>6]  _%UV 4`7ʰ,/8 jK(Bi޳/RboVcP`%T^(P^51G!#"T;D|c_qpC {">U_.#TlheLBH;<{ sդ)`A84JWK34f/,z XMM0~t!WrpOYA5@w*Yp4  GNKie5-g1qm\8P*h,}\yAE%n:5Bl W-M-M$x2LıDD/C"<S b[ b! 1TSd5/qHq9pC}\ ]ڸ,CwkavSXF\Sr;Bk!\QIQQ QK H$C+Hl@ (~KI ҤiR> wr8 xcyN*ʁ,888 %SNзPfgOGK=V Ɉ-GEw-V0l~jsb"sK߻By OEϼ>a<|mgwOG=@qlЮ)= ح*et +Ҋ9k61Vic61]]}ع}>S؇4a>l`huhv a'kpB>05α2sƝ ;ǝdx@9Vv<c8zL`;q뚎{t6wp6ãG59Ktr^'wr'ur|/?؛̦gR3  -'gi83Iz$pCSp'w}z p aw3;&x- Fx`UF*8PobD4B=@@-A5@rOc~=@9iʕ!^nQ, 5ZjRH|2RXF jq+HwԈ[A{98SO774>FdSGZdukڑGl7T;어K,<;\ j)u-Rnm5YPlh^?}*.iTo6t\\q]悴Ca.]LsfL>HcoT5GwoXעޟ5]k/j|6tR:9m?ҝ$9%>vD#N},^w\ x{q=[\wnc`2_[;+_,AcXE~W7YɥȀ9MX!/o緋VojfxXf h RTj%,|wbbboF0}od\?ҟO 2ޑmk궕+g.S$E\nL9_FL3?IM%1L aq)`u, ˣ!G`|&`h&xXlw: _pưy&2 /V<`d7HA8$å?shff45kr4=HZ hvG'L01KUxMhzR]G{*w~;K0d̲ͪNyIžF3*>%$M@ 2@54f;_1:O b1{ѹI:ELŊʬ~gJ:BjBchNjթ&ў |EծyD#ҹѢ\$uL*Ȑ +czO3S2ײ `v@^f\52j0$f }p͒ DX.)笔ngӰW2dC4VSFӶp)"=L$w8 G3{iP#G02.S^%:puL#;$a9jK"IL'P_E$ai>.TAJW]r%q(_mϿ8a3.OiW!8೫ rf=x]!ݡJ,땗)NHMTOSi\r=:Kzhhx`9uOPѳǣ[ MZQ={ ԪkXs^g19mJq*-vu NAg{H$ A{eKY#p)(-tW><_.5Cg#(hifֽ0VR%/[ vƉĵa %wye$/}KҪy™R鼝vE}*͠T_g+B ͔ Mتcí?i{cJbġuu/&'B`#Q`u\F|w'_H}^ " 2hw1z}ў[lɶ4SO7˝%oQ?VW6|=A~eZձtUh\%m`]>g5Nh3jXuNN>4/LL]FDڷ/@]7U}F˪ iGGJCݵoxB+-GLH-G G/,/DbƎ}FQ>}T3:&zɧupݹ += OSNo?]'W2fyBe„~}'l,ț93?/*|ƻnmgԹX5طĭ{鵧\]K~筌?Rg ײ7iwg|tbb`ҭ+_b?`,O߻'pӎxw|q7ؘ(yѣij^2Ki)5&.*Mv͙0Y \QYhu(cØ?㆐dsQ4:sGNx΢"Md5ry'ļ\ ?$-!ʷt!F*hϳм{VaǬ6c.i2wsn|l3ڍ u Xfºs&K]텦5$.TKB`'|zEٌ"TLk6KcԹ3Գf$'L\c9fe+@ȡXB57aoL96I;!j Wy1\h* 9)y=Jz Q5e}ӑt?1_wޜ-T\'bx-ǍBYȩy$MC`g,̏g};ǿ{֯ͅW_dj)ʽ, 7k'ޘ%J.{GU"_ /zEKn?/f['ZJ]:y~} '2vёhi]~G0+?>.>}7 ak |ֲJZ/>mƕTiIA; kĜx߫jӇE1_VQɗ[ʀbRpUV_{yYiwu;>)}>TOȚgJRv)s7 rT1ː ڟ]-7T$ɿ'|?7qMنqn ok0-]o[VҘ#38\vb2@ Nn>RA_'-&E.."lx"46Skc+u.]C}9%4]z'(rAbOXG}ACW>x,9jar+.8.;81Z>^(,J{K8@Ht<):ϓ84?[Kvy\ZsV1Y* #[L@Uy$ {YEaW9ұPS:΂nj{.*;|r@.ט3_d5&ke65#k)wK"Q11ah\KO}hՇq{˟4k$r;p4A}2S>  < %|9/!|;pv&)ņN#vK(':4&Ěxa|E06ལeޔ-LI4ȿ~Z~#d#/>W$=zl$>aG,1{ JOݕ|F%o~ҤG7f+Y-!Gz;y=7By83$=XڠgٝWPf-~o ęKO%{@5w\\04'G<|~'أ})r~}'g*%>?kDB% w7Q DF5 ~@?XbuC4 nqrk4?7k=}RR8rw0^mչAgipXp}r?u/ʦrpy9t>sXPųYlg|9/}奼97`-OoK} 䨊QS,x~Ă) F ^arg햜ܟiM-h%'[q 6qXr6i=ݒc X$T_䌇uq.܅&^#D2C&t-SBDٗIRF9g\u5t]6؄Xp vH \n7f8[mvox,\ .1ׯ]&PEᕋBrRQ^?L;>"_a, kU许Q]#*~Z[%vVUHe=)kDI8< Ux3O@܂mC<ш'!~HɈ NߡΈ߅x ⍈wA%Ļ"P1Hu#6ql"ı݊v+G|ݮ 6qlF5cAG<¢nc=8ctQqqOX!>sz.BY8Gݠ/@"Ļ VGa7 r9P~Fn )A'BzE\CA;Y4z?Ph$w~!g A?`KP? nQ=zGaE}DQ)Xb<yDx4ڧ 8O.}}vIM.S7pjXxI(&"BuI.%|!<EUc ?7J!`ɄO^D*3 l/,!}\xw !7@d᳁c$\~B Z/_O& myUo"w |7wo! XK~Wm/y:G ?8c` n' k~p&/~_&#W uBwN, _ aOxon"3{w^C _<|G-{!ˀO&=#𙄧<{ .6e'!| 귰}"oaDb"`^~ +R!,Q=kT$>8S=uWדe@ 880X|WnԿbqB_CԿbqf_U#ԿJN+W958~?SpWWSp_U'I@.&,lT]!Tw$I~iuYX Ѿ,i@ۛ߈~lt1ƥ-jtS踒:{D^'X5y~PFf*2 5FGLhVW?l0!_8y7SF|nߎsNu՗ˇlPN颸ȥzn٫`/'ӸU_pD`EWom\Һmy iF60a]?\?}چֽ|c]bW7ׯ꛵+ޱ;O_3x{qM7=ռϖK_+۶ꏜ-o']yv{g^s8mËoYl(y?qw-^Xy?|xl̐3V:='㟭;o-nx睘v#7.ŸrӪ//mp6yw\pok {տ7{<K6O2kQߥ/Zڲ_X߱mo88?7ې=VSejMO'PPviWy}nĻcU&VϻLBOeF}[0xѮ}#>txt+5r Ϟz^Hc-;kӧ7)_.xa{{nýzOμԛum-eMv lot7LV{cKEGXm-?5' |U'MZh)DR -l [$(i }!lbͽ^W]ϺҔĂWЫXb$EXsL2^m?g>Μ3s?˰j83 6ӄu.3YNwW~nhN_ј5+omd|e@c@cSԶUo51,ݸ=\w:9o ̫Wuq]꘳CEWP݆:p]ƬT!9>Q|~]wMgoW݄\[˝aGF)^54I}_bCgS3$9|=2xMJD)#)|G%|!" ! ;~Y_V Z{>GtE8tCIszdpȅtD8$zC"Nt)D!>!gE> V bGK3W?-lrdSʴC{92)eˋڼrdSFkˑiO)^^ ȴi//rdSFkrˑiOM"}t䏩7ʨ~ʾE*pI'ܹ1ܹpJdˉ=L{y2ОRhm^N{J)e˓i/'2ɴC{Jy9)eˋf\\ob822y Bƌ.&:.Ō.&**piYj.؛!* ƌႽʨ1\a3;כ!*;3;כLe\*CCh.,e\*CCh.,éi.!4JU?T44K** pci.!4JU?TᮧTD\*UYPR([ےtwhb !4JU?Tib !4JU?T~)W@ LUp wM2t :&Vʸn }nYEg`Y5.]!usSu+;Y}.0B`V׵7븯t7q]'Y}4uO}q ͧnh~W7.o40iOSљMQShr6 ڣoRc87}IUgTHHMJSc8?YH?п,*3* p\*A{t@sTe}FeQ*K%hh.Ϩ,Ñ>,JsͥRc8i.=:T>p G~h.=:T>p GOi.=:T>p Gi.=:T>p Ds ?Tp TD\*UYPY(KTNDT*UYP‰߲9>=QU/MӀ]833 PЪbZU}Z/VWEix=_׳'u4,æcq-W?GAwQ[qJ5ZJeAt}Ś$\,9~߬`>]p.tj4t eǯS,GR8>/M@ }r}sq - ~o2xqJCC#ұPTtarCE{[LJ==54SeSUw_һݩ+͙oCD :Ƭ zնcS:M]Qktd;55en&c^y&c޳@3>nPhL\>=׮lnQOFwP߼;IӮ4&ԉ g7@>'qG@u t u؅ڽ3.309ii'6ލTlMU啸,}l̆M6aGJ;AلڔxU-wvbu=mI㮗٧#e/ZVS6}k6=g_z+ǰŽRkn+ڝuu|'aO{o>/_?{nѐ /!/r}34=I毐=kLnhzwZײȑKRǸzw?sɯh'EwOO+5e5/}tc2"MշѴ0bD'n?|ԄnM“t'};^>ih$L'1M4яgxN+)/; n; ٕ] S(/q  _Ixi^5f\.Xpy?~@GOs:5;~Ɨm{w\qcbO-۞]{lo_wY 񷸦5<~mǟ{|.mi:;(`Ֆ};5S܈lavTbn[fGF7E'YV.a,=tx+yT X:;^[͸jl}1'OSs۠廂]~=8ZoT|{-˚++r긟`x=^z< c!"&@5t]++*5&jt ]K[fݨYf6?wbqGT>u\d =,P?'Ý&g ga3$mf"[i(@CDÅ8m ghb7 }Iqe"&Z%ΉmŲmRJ+dIlE$W%e|JROI$eWNOBBSkO]C<4eqb·EdVh'KE!Of55Fmz0ucQ2 }` l;P,_Rog voe0N90eku~G7skMnX+ֳ=W۱o.S7mG=>_}Fh?Ah_,p^ w57q u]=E.s}MG_R H~xS*jsIoA[\EC8 % ? \a{ M{lA}vaGYU (gڋ>E.oǑ}pW{ɋ @?qvsi__sXX?k/?ǀqJ= %*~}џyu`Q8/qF_^o#gQ 쉂^|:sW}i8CG@B#5\c^k\l;ND,ډe9/.8ACv"˖nU>5\&\a3U'GT IyfI7Ĉ*5UUV֚MV:_e$m8 570*. ]-0 [!P' –H$z2K\ˊ6|;18 l 庣okj BSodMU8޲s!xwhې̿%/?9N )/H g7Oy? HO$H|_n _DߓDے#!/dUdno5o W$d&̟L;_)SF7+'6W7_)d)d~N ?%/ ~ Vw "v~ ?r0?l0`2h0? W|oU_S?!H%K%Su.? O pN#s .]22_;̿y_Y_3E1̿z(?̿u(?W|'_7g+?t2t2?/̟N -ev'ed 2c"oC #ӆW#' #5|A$322|/UGNg''''\/k'o~b?,Ef3~9_y* NoA7 A?; K4.?t$IOIr_ 3{EE_3׎"osbQ l2l2 ̟ ~_/twx fq<66!!1dH$DX+ D!V(5VZ-j*jV߯~}>:>{n~zڷ}z?! ]2ڏKgXj>+/aVڷҾ?t)? )kj}7}'?e5ehv;5~?8?B7K?o+4~wl >s/{wk}FHq?4_W _ wW[#iD3OmyʹM,?bگFo} ~  {?n}o\͵ ~4W[+~wh} ~_?L𗃿}!opѾh?O? o/wKwoR%?ioRگ}Wj?(O?"s)ݴ_MnwsӾ/{?uڷt׾۹k3?l )⭴_~V 灿C-<~i烿,w~گZZaǂ?/-_-?/F5h߶7nOSVo6~O?e;+վe[;~ ~O?"7_ӾK;~Q'~Eo K׾u{h} O?og st~ O ~e/~3/'?o?gG~o~Sow+ ts|_Gv>wѾaǂ?/;?E?վ[j#? 烿~O~Wi {?}oQ ~4%?io _ }?C? KhFm@{x_:w ~@~@j?pLN Gi?1HAm7 ~NگI֝I?4_ V; ~گYvY_/Eh߱=h>ǂ?L __>o/U5jߡ=j?? ,𗂿1z9?o 5yB1Ss2yˍnF7a'"XVo}`w?Q瀿 -4~-{h߹ہ~ূ O/!ڷ ѾK~ ৃ:~PW~Pjǁ?4_ N GidSô"7s1{jrO[~ O ~ς?/KUzi~/Ҿa(?Wjo[~?E/G5h߶[~ ~/3w>p ts_ o#Im#2BG? 烿Go }_mj߽ +%iN?Ӿ{? x'?%_k?pl оO! 7__6R#}H?qু:+DiV?;J7 گ}h{Dk+}d _* ~گ;P9PA8)g_f Ҿ { Ҿ?aǂ?/-_=_׌Ѿm[h?(F ~/ ;?r?|' ~`/#? |X׉վsj;O^O'b-}8w? %hѾǃ? .OC4Tj?pL𗀿o?5m aOl O ~x׏~xw~$# \>K?o+~w# >s/{ }߂_iԾH{~W?g$Gi(Q ~  ?h2Z Gk{ 𧁟J _5A6 wIFw? ڷJ~DI~#~29//'߁_q-hyۍ~g~*c`]joC?t/?__ri8~O~+? ]_f~xf k?x+'i^%i-=?? ?Wt;:?__m&ju}?O/+'iIڷVP~_v O_5Y_3߃[M~)P~+AO gHGo}d~ ___.E5Ro} ǃׁ c N~os_3W~ d3_zw+? i<~w͗{Gg9_w=7 ~\~x:o0@/?!~| "NEusp-l˛AfFqx*ơ~hY8L#ňk+?< kck) rOB8OA\ x4ǀC|L k<z'[#uić# t K?8V ^JVb/ ;#wKxg8wV >l%a}ӟ̟-? _ q>8\}8p9c}`=py}8pLDbas@ pm\} <>_ q ^O"E<Η7 AwoE xO"Nyq`B\ ܊x4Op\F<x74//ރxnC:G|_&> gE<c~7hO"kѕ p-"7s? B]?Ru"C/s'Pf<#.ß9a7/,6 qP@?hEN8}L}KfA ПG?GJ 84ӌBq ćN3C ^6^q(#Y(@|a;׹q}#L !|Lb~<}#fzxJ$ejG_\Tx:˓oݼx~ ĽQ;C ~C(s_oxwҘp>eP<"k!ḦA<}o3 &8j 跡f)9%>oË"_ܶ 7\tO_O~G~)[т:6xg׿C?G"av:"{@ZE{Դ@½o#hc|{wX͋/ eD0O?"Eg˓+["ٞ33˓DD,r4n"eM{nTReb,?Ro(=*t|W>NH((\q@nG13wUE;ҾELL[p~~&g%>~HazurזNG^r{BrK@Kͷzӛ>zHFKcw:JOo. Lѷ,]QqSÛ5}/]ĝ)>kN^Po++vINݬ'}xc[({Vv|Yu_DKK;MsN'#}/ꉨh^fV@̊» eK.9j׻~i;?12_C)xQVRJs孝򴦗ÛvlOW5'^0zr-9:{U׋_,[,U\]wjzl˼/TƗ+&BvƖd7;4w3{G7w(6$0Lj"+,!kM^{Ύ- Nگ~rp^f\PVbzNn[_oxcQqM'>SrSjeH7%%F 6- |U'MJRHD ҂h*E)Cڦ1i- w]w}+{eVŶ?=a1>6DWSCBb֓Dciꖡ$!ch1YzIH[LBN$9j}cr>&!1 脴ɘCB؄mzs--o9M7ːײ{h/+A{崣ӎ楴=}6;ӎO^N;JО>^^Vdjo1Q{DkhO{皿 I^V;'h/'A{YhOxm^J{k'h/'A{YhOe=}ry)M>ss>D4^eC&D[~m`{ Y4^YS~mH{ AT{~m^={jB{a&D;󅾽tx'E,'DYj*ˈVm Vm jB}W~"~o={jB{C&D[jB{=^i \sՄhJBXXU3P{j/S C&D[E}^Wrq_[ * ڟ1准 pj']ŔB|x I~3&o=S~i1;_MCĔz?~xCO S~z?o3S~i62&oS~K20/>BwhJopTo|$x w40]h` oߺ ^aۅaO /.uïmB_Zη ~eׅz.~ߵuozUlCiB _z?#uv/#_DYj+_qǿf̡!T!Ŀ4A zje~C&D[ȡS_U_Fun>\5!s^{ %!k3sՄhŁ~"~G~OM~o={jB{a&D;վz.} ,5e D+&D[+Vm H{=M{S߳C&D[gA}m`{=M{ eC&D[gF}m^:=Ԟڋ=#={jB{{ԄhLhU:^b2 }c{:|*|n4-2} O&ed[LFw{{߽ROG7V /C%鸼M?G=^G+qh ĝ-֦w+ec~KTdvKZVXwҶRGC?O-ֿ]C_ڊlsnk?owaðdGͮ?L9|xdnՒQlCb'?!@a- 9kvkWX3Vp5i֌3ry[m :{×c>jkE?Ԛa ]j ަ5ֹ_`[h[d&,ޗ+tv(>􉄢_p8QiV#RʍuЗt9:&u׶sA;钑r%p0{R){@Gð=~Z0ʿμ!^Jl/s>“|M4ל6~,9+ V[E7:ic{"p:ΰ9hC93|\#OpFG=4LIZ7LC\ ^-Vɡ;·Cf><8-tcf6I(m>hiP6\:4X\G4NtM3<ڡcLW2rv^Rn3\[@ONsAoAz{uGv;B'+F OgK"$~l=< MS=DVYE_,;1´ۋۈn낇گDme-j×IB[LQ>{5ARS͎b̓MjeN*itik2ldKj6C^Ej+-n KܭZ^R%M={1% R{4SӺ2l3B;D޿n"3,W_mq-z|W4Yv'jQ%N`+%.5qf+uK|no]8Lu{\>bi(iͽRETv-.Oґ"WX|qI(pnOrMy.ij:o0>ު t.uL?:{QcF,ZQ X*JYJg~Ro%^ԃ|83j^2_Wg$E".c0$`  $̛8$y99|I'<3O4~xy8M.#=q'a t*\()+8=F*%ޠPZNy_u//n{rq9)ǃ_^"^6Ίr^:}Oۓ#5DUluN ]Z]yq7/sjkwp,O/jy@Yӑ!WilJ YɃ|JThYO/# y~ -&N_EͿ5yyH'bV$-#R$fTގ$jD|rȼx9+ʝguVjytMWn@Rt^GhywR@ZBrgR! K zN@<wa u:d;9*/RS8NK%JH51&įL9>&.xa\|_DWoes$o7x$*mIi>q˩gr|ii듬o<(+E易3SgZ>s9,+%:)>$.>Pgqb\)iQ"!\ePY9~:6Y:߭TlC99^O6Ll|z%>>)I"yy<-ʦrVΐj9^^'O㿗vyAoE)ƕS̸@raߟľ7{qO_O$I'2$ދR] *1xݳLR7P@|\r}.eP|? r9@@|>w{x-_z'7Q_JG;}3V}MM"J,a-VIGvFGWn l]4]OW4w8ƺ{%q17rbQ/osǍY%RwW $Sn,5{j1wIbQn_$4¶(#it@t9_WKqL%u|Zk):ZSp LW+\Rc+Oc"ʏ!P<ҪDRU%B)0Zf/SV~F-=(U]eWwSĈ VIyQQ^(d^D2&E./_RoqMEGGŻGşGStxߨxATx~T0*>?+g&W%yIlIlm 3#;gkll_6?O|e`46_ 7=wKf3l~n2?.mG76H76?C76 N~# ?ߜ_Ia󧤰uioOI3 _ SSAlT6R*w 5# ELcGק"_뺳<K+ ߘKg󇧳ק< g% ,`?ڃ*o/I_ѓߓ͟R?7&O|mb&6͟ R-7+lf6͟ z\/6g/6ҋۋ͟ o ;fkzlS?-g~>l>l>l>l!_O?7n!? 6pMC__ )}}3|C1{3[?6?M?6??j _gg? 7_dds3z"{K-Og ``O 6k ?d ?j @66~%_ oVCc{} ӨeflTBIQ ,i!K*$ IB))!%-2ƾcc}?~Ow^ss=u~#h,#:~զoTMߣ _zw [?5iq3[6~f?+5UkAsn}w0' +~7m}w?p'~_߯~\KB𗃿#__XkX6(ǃ? ݴ?GwnO?U(W~{׾ ~_;hAAρ//]uk߸;w~O?qূ2; ~گC-{hSǁ~+a{8jQC?Q ~ ߁S 圴_I-o}?y ? M#Ywr. 'JO7}Sn~_1F.o.O?"7|^Kzi?'? <; =߂_~w?/5??_ѾYw->_~=W훸jUN~<3_~)?]K7u~+7wqӾ  ~,i炿 m[k]}ݵh𧂟 273/?_C=}o?d_ f?xjSV_ NOGo^(:O~Uo7~o{k@#\K_~W}j߿G?4 m ~U7Ѿ{h0' ~>kwWoO>p^ˠ0{_a Eo_N?hg?R7گ}? X??O~O? o? S~7}Pǁ?K~o9Pjy [?5i [ ~A(cOYo'k`7}w`cOk_ڏ~ &bk ~!ڷ t/#? ow OgZo}@{)? uAoAw Ҿ7G~%>탵`Gk? nP7}ǂ? /=?5ôt-i0;hqC-Dn~_1>\kpw}O d/#{}2B#? ԾH훍ԾH?1k o9JMFi(ۏN ~P7 վYj? _qWnGkG\𗀿]ۆiwi?"L ূw+Uµ8\w ~:y .zEh}"_0FߌѾی~/? [+GjHԾ]]~1k ~wc6VC ]߀_)J &J}?O? \W_w__5Z .ZA/;//b&Fc?T/k+~qo=N|?C?<;b}Xj?_V"w~fMkx? +a/Wqo.q/1A&hd'h |_C&/ ?o.w?#? \W 8Q'jDǂ |K ~σOW 7N~~+Aρ8I'i$w ^ՠO?O _ijAngts zmҠ>W__S3;?_1Q:Q ' B 1/WM~T/ _>_.I2I6I G? ;=__aMӾ4[OӾ+?z7I־u=9]uktw}?xg?R7KKcS)/Mfg~OMirӾ'ǀ~&ggGhr3s_uIoWFo1_ ?"7@F o@ 0-ԾB-~ׅ?1OnOW~\wվ}? D3/ ?-H H: ~<7Ӿyi 𧀟׃ c_ 7~|{ ~$~oXoXnD?rh} # l _ OG-~^%_ U+jBjk=i/-;? /? ߰Hmo_}ww__X ߦX|G?4s_W,~+Ѿm{?O?2w k??tj?uj  ˴_MifDgo0++,7˵o\v˵ 6:쩶B12zm 8оAG?96OY&P}R{~g_w[?Vj?mڕ QoTeoS}2~烿 ?TT]L5R!"(M6,ŘX@Qi (*(H(("| >'9=s3waWGINГ?${ À L.h)8EAh?O-W-iC8 ? _a~*_׎N/EL//skD~HI"i |97CT+GgQ/GDd𽁿{qB?]4GӾ_4`~2ovii79M?+w#~-} оi O}k; ~XKbikVOu?_o{ 3? -W~" h9}hkQ _+xO3 ?3 zL}@ch2Y;K=ҾYڟ |k;_| #?˧}|Χ C~ s*}[@o |+ {O _W+}BSH i {-}"7) E?_|G?_|[{ߢ}[? _ |O imm_qIU#~;Cwh݀-?' 7_.wKC_G=׿G{?__5~C|W-iC1/1Ŵ? U~<ڟ_B #u(߻Ki N_ %~9_?+~e?ÁY/3}qާi._|?~0𓁟 ?ەӾa9+}3݁;G?Yh_|_oA?/~5C=i1݁[ O=VоA ڏ~*_W׮N߯GT4k+?W_Zh#?DS[ǀ1<ɏi1;%/?)CVUѾiO}k;_|QE |BOh ~s_ Oi)yJl;~ 2uig5Wմo  ߁FcѾ3_|v? O]W-[]Cjh ۀa~:_ 7oWK]ki Xk4~1<+_y r._6ù|.[p/A\>˳ܜ%\ފ͸|>Rp9?.\ϫ[=\˖'qy r~^\>r~A\ϷIϷ;r~<|Y.ǓМr&. ^| .cyk=!Oq۹\r43䩜Ϸ ?#min1ll!~FY+l_l(]z*䟲Pכ˛ $~m||3_~<ߦ= yKr+ Ms!qB>fBBr !Wcg||wcϛY$X"tr{ y*Bޗ>Bk|\ +uP_CPUq}հ+3IsvuUXw]w!urq]\\u,7zz?⺞rq]'\\,u>uǘ܌^rq]~^:NfY.BڝvB9%koڏrq]`7}[\;Y.vlr]o>,A,.zl ,#俲|!?`!Ofa!P!BޚBޑ姅'ܘ| ˓|/ yӄ<B\&i>܀] j#$%BjW\J!, lzrsQUϏBzDhQG=@6lis3BU~gRCiX?> yP;4rE'H!Q?*kO󵇓Ka2250ikFήr/ŇyXL>pruw`2U!bV ٻI<䎶]ݝXSb-s6{x _.rvus" Wwo*Kdr%nkiptwp:{;*5F!wg|Mo$w殛Qfpqmn2W#bE7m/c=d=xd_!{v܌Uu4]wGy֧jꗰw\ܽZuT_?OKyEHP?\Y_>&Q*пr]l ۽Q5\C8 ;~쿏&d 97!V5?B.c@oB.oz_BgVꇳB.O(E;:D"P;YOy zT=Q?w @7cOeh6_FP* y +_rq= ߀bRIٝ07MEG%뿞]B_IOVRUH9"~ҎYMPG꧱\nD B}aJY_x`AD=XLA? # ԏcUS^DD2(?6~q)R!xOj:~֡ҏen^2M[y=Pw? la'eh+W/7Wj9pMmjj`5ԤqkvKejҦ U3ںf͌Ǚt4nѪ̭@e&ݛF13rUWMܤ`FS#(η m)-jJ4$;Z?e4ӛ ~㳤_]߹v̍-V{>9|sy],X["VҞZ/mwמ6~fG ̙BgkkiITHZ;gV}uߥ\,kBOqlqi۝wUU(\j}dҵ#,],Z!Keqau.ϴ=\Бv63n.Dlf;ut*1xgMn,̀mt|VmţbG.b~6Z~cm6wSuX{X˱S*>oiV=ttbyvz'rG,o.`e_7鏓ϫ]3[F&kǒ#n^F݆+rǬNj%4wo-JRn\Պޙ+Ǭ4w'.p_C: A>.Ĝ z2>5XɊ:.ѕ Xk;b\pLm) Mo~˦p9A` %| !2:_pO83=/MUH,(pSS?U`[}PTWF_ҤwjkC,n$=y8FFw"QF"NAEzi8cfku!;ɔqэ@!JـtL#DsνVZ{~{~ǵhS^u¹?ᴝ˿ݯ;oJx{L(wQ)#*,;_9j9)g9գuuWʹtfMwr~$R-(53\uz=[A _hMnzՀ0 lmV+zV h_b` ЧLRolr،["dCȆЬ^ :bDAum@]1ATYQW2͊yºP[j1BS4,MCTQvQl$6][&Ωl`k-E PQqpB=w97I͆Ɠqao ~KXFj+} #V :dL}{G9(}OX_M`%HqٸIlрWpl^ imV`,Qa8^6KaQ+?iX}~}UϳYef[Mw\Y2\Dh~6mC.)Bg\Ũ/}9P_^6k9RHQ m;F"=D@_':r,V %c-ڼD{Np N& vNrEl=مsnΠ!'T4X1b]b1o qlaP3 u=?*ƟeQ5d%XE%d{fVܖrt?Ef3 Q6J;2fAÊr(dC\\ d "v.KR|g[ƟlZ," V*O'(G2&Y>CJ)X|+f'ɷyT?j/юQi8E>h9bWtm"xhJ[0`9刞2i"i s? (G G=X}dFm?|58E9'."³g[s]k-O< .i'KP=' z=k>܆dh.ԆylC@UϨ|7BȧS1ب}=IgqR.GQ*qӠZ=||6TFۗbrv 4/XtFaL f v o}ܱ@pPV%rc{i|a3gj}ҙta  ,Njkr@H]G$zP]3X{vx/3`Ac閹D+++UnMd=k頧8+"a)a|`:_"7qQkʗ/'gl ("$\=}7Y_Ѐ]WhB/N/nQ+y|OnmyKxnD]O}3%_íD-C{Lv a EE l,G̈́%wSa ƢӫZz/Zp=:p'[.<ధ'''H؊df9 e6=">uĂf-ޗ^ hBт ׾D׋r(t+ŖG-3z.vYm>;GJszG``XEN'v[V쐳K؛FeIP3d%,[r!g"rВ4"hrQSi]&;]*6£eOHΙ+֛ۤw1]Ճ*\yMj3W1]5*Mg|H3|H /7To'I7TkC*{9{z"nҳ+Ut!3) m8-bEzXrhQ*%^ R-]^)NjlR- lB4u  4vN(usBJ#1BYhSJ$KχKa YP0>T10TAVQ fP-2p)D.V =ھ5jcf [ _.!-~3?}LGsFŜ.EN_NÏyYbGs({;La5f_{1YO?w[,4!2V,5x_r]:)V?=p83v*4Uu]FEݩO={wPPNCQS776GɃkO7?ZpG?%pf]s"la:甊.QYo~_=~}#돷_ߏ$n#,`d&>ƭDYW |cMKo0- )Ki􌥱$Pb1("66p|&-?'ث$'Ó|c?~ɼkU>*M՝@@Ԁ ĤiB93h]It>BnDQaFx1,3([{_}]/4of}{_7a 1,=SH#PYS1G^#QTX+U/J``< +:Qb}nG+awTܱhM0Nr"w HFhc@j` onP>O*؏lUQHԭZUn?;X_ Jܑ7].!Q%i3fGc^wg}m5Fj*5×==jkJqGca%bs_a"Q5<='ӳsԒQFp1њX WCu[汣1`@I-Gwce0Y!xQwjQz1Xޛ#;Qy ujLw!ZI?ȵJ]O1ҡYh j79jXzэ֯khu ;= ~̯~wc0bžQlܖwgv:uqY[Cabdq:7џ=׆m8``WkHj32p:?a_gI]Uvc:iKoW% K3Yqjs. *kW%fs=(/=P Ez?*D$>#JTsǧ-kl (%*OFkc@AmXd2@RŒ j.!Kl01j,\y: C4ntZ.2~KbIܦ}vI]'ZáSG&=vsv{$*+w(]Opf;Q9_Nxt5D7#Mcqy YxaD:XrЯ~aΞt8zn^gq3RR>5/E+ osX x7oӡx| ߐt+%`B*$#d =|5 W/g{ȟD\~ #8 4QZ 48- 3+|/~ρ}-Hp; Ӱ(]C=oJ˹@ sz)m?q9KxV`yHG8' [C~'d.tρWxAIvs*\IAW,n6Ɠd)|} *S|Utݾ:o_ |&߽)^HOK1? f|O2z7 zz7ϫ:C߀N}@LsޏדF=@G4 x w1e5/J@O W/BӸD +o'lFps~P_qŬQT,M5c1a;8 c%í˱:"˧\9y$Yspԧ?AH=5n8r{DutF-%Z\qԑD-8v\LbB>bRJ'X8,6,ްѶe_qb!Y߽uՁ6y%GCU 2TE#)0fy7ٷ!>&ҐL'淴I,תJdJn7֝,.X jMoJ-`5(5=9`7LRADZs̽ 2s3dc{$SaE\4HA-UH2[]h/uzV;J0`H}Umrԭ5ȊBUpSi>Rh*V$*s/)dd⠤7[j?ɐt2&tD&˨PL\ KOߨ#!dVhbdupSM"!Hdž5l.z g"%%Vs7!v7Y^h3B|h~g>7tKwA OnǚcW و_8N8N>">q9 ^zC@|yvyv[O!>/@ܾ韃LÈYx9 ^a݈KJć"?_"~@~@=8?q/78= %įD^ė˧mrxqߏ`Wt"5iyz nEEz qyY4-pTć! s=N ^w<_c8[ |_leRBuH\OmHO5! YHQ?.c\nW!=xJ _Y ZO -AWX!=y<>ғEg!~1]#{!>q\"8^÷#>JJ=e޻[r'qKNroIE}Or >/%| Ӆ~Ix+ۀ%-! D)AX1pڎ-N1K۱L~6ci;v>pڎ  &ZGo%/H> xJx) |; eWAM$_ =[&?&|}~??H𣄿w?N#0oP-FޅxޝCx/K;3$c oX_X_XX_>%,>%<4/#<,/'|‹W> kOC>x?r1OoRL)_EwW=a>i=(J4t;N_/n_ 7|M?nZLx}?@A?LBG _3P~7d5{ xJxܿ2{G`='q8 ¹?Pp9 /!:c  qIׅ51״ߑ}Ҽy٣d}yޯGj4Lx7R=."$ΧÃE2#~F.?Nʇs*pQe e}{oBˁs_aaȃ}i҈<Ӕvo0sjt]b1z t_6y~VSdu/yy]G9x"͗6 ~Iy&A'Yёъʸ &k.4TU"}QA!rr R\"k $S !I1aA|{o>՟BRl<.rدS-nx|?l,Nߟ`ԾC`?)v%ebT`[NO? | 6r[ ^} qp)%7h| b-;sL֧2M`~͂!{ *}a(?/C|cc!]#~0MnNr~+%?>m|qذB3ip۹ ;IiAٿVo '^طh6~K 엘bb! Gi|bN*;uٛ?_3Ku;/ݝmwzsO/Ynsyy-Ox̷&/%W6=2ȓ#'&_KY7O,>VTp{BCԜ8oʪP|?jO'C8Z&;EuNi] 6\b{8DzWS0l8lԶ萤MQMy)hщX0deˌkVcY FqRy򧋅ӂf VHk"Hwk662|whQ!߷+هjt}'~ƳZ$$^yhwn$s>:JS]/t#Q7եEˑ`ܪ~Ӽh7e;ioï돎@C~q^g>廧v]kdl{phX_Ƨ&gwKTmӍ>3dH?*'o H@cwd]댆VTΌ>\9q߲_(tdpA)rӋ̟OYG~8??QܸJ ;Uf eEvsG?6zh:kW96M7f6K:5ͼw;,gL^ͷu&w5N6DWA^]=Vә#C.oP2VSmjӒmMgYT䧋wXw*0ݼrm;wךlL!]Ois % ׺dH#V~Z 5q9Y<>NMn ~u$Hzmt[aq%T͘u|55Hcacw˻3cg}ki$i_]Q .c*G@D&q%OɐrsJhppBQ5GFc;Uu}zI0Wshl /~=cZhj9 ]iItmP>kx.Ttt(}4`w~-W1v^6?>KOԌM/ KEu\"Ӑ| W_ {=ClJ݅P!CWdbBǂF{$r8Gح/yx~e.ztDt0;OH?kkЁXl 3Ü@eZI E/E"TL`3MaBV{(f9L0u 1$״HNu=Pׇ2˂濴 ΐyˮQV34x+TZiO~`UL>x:"0q~bxD13A=vt C`w)}[_|ρxOpjL<Nҽ!*~?IP0' K곐MYu(^BeS|ׄH;R㡟~K],a&_DS@3"q\5onjWjZ8t۲;͜`NGEǂ ND} }[); `kH:Fo`0m3<݊1~}Mq^ dFQ|2p%v*(ozF8 t=lTd=Fj=F8YW?]c':?S(N{C( ϠJY_"B~SdEʛ!}Z g(ptJP(G穯E+& n\Mܼݤ:.Gi'ZȚH2ZV'rcx 3Z[%^X*2Go^YtT &2n "ic1J ҜJ>[ ťU(L#iji}1QPђ\3~ i KW*_ !`?o`C:No0t_W ?^%c=|XSyXA 8g*اe/?n2XJg}&%P7B:}z]k?>J2~BRI ۩RvR,l> ZvTzCB`d?`EcؿG fv A/Gw\a/O?gD>TeⰢuSE>W#]x[4}T~+:_ߠ UE77 ^Rb=#W,4xMZDLehPAbHL_1$#5e=b&gMvbF^E7Z_|Yd֩_Ұ[`yı[?Kow)5 IWܞ5eo=~;q"}??4k;^aUmi7}̉M ͞i0CO^泓~7;VNISї1˴w~5S6`Ol`l'<3C/|BBG'X{-TpMK&[W7+zbg;&\sx0ң[]Y[n*vڍDWQNY_]LSkj&|-b'o~%gt9^#.-zr<3ꢶZm3+j.ڰq4g{ʌŻ|z>#Oȱčj=ۣھ;+WJj{?5qAY{֜sƮ:nYx%]U& nSo;A\.[CkrϙenZ;Y{tUI-}Xy<1i(`-ąbFad$3q2).EPxDW袋X7(T{dr;Cg;gr;|/Ϙji MMbZL]w$G?ٴʽM)v^A 8@i`C`~Z@ﺺn?mRܫ,5~-꼼-{)ADZ2DZݑbϞH_Go˷赏U`Co~ H:J*l6^Bn+z//xye!1㓅^R/Nw$fb}X$WֆJ(lJIS-9jLiY+ӓAaL ~JƀNyQy9QVmA敠DX :s^`-η7̮d?Tcâ_|8@aKW)M=}]YoNe>ékLYm18݄t&ȿ_û?c_?̕g=jAv0 p#v \+G>ˠSj%9 $}XW2d>YIab|xm RMo3y,Yx, V²*aqa]AI{ =TE>J|Ry^U=:['K`wsK@ϋ .Y 6Ԯoaɲ[OB~sMRX==񏝸qW:ekGH\ \GVZZŒ}!c/XmQTn8FS9 ]&qRO=?{^v,%dʀΧTLj7 n =ov̺'j Ddt~L! zB姪=48.vF=⃻ T< y bc֫xlHTB@ez.,?R!4$~%i҇ 7#A\CŨrό.Eǚ.iE;H?tO,viYf; x3Yr2e9C\ 8/x<'l(tΨaQ|IM$9Sǡ0SSa\ i7()"#=H$p!HLhpmu8"IH FUH/]q13TD?4v4ޮcQ\ϭp5w!}cYyH^Lk ڱ (R#e=y?gUFxʆu)lnc)G3$(|A^1הH}2BµZ' yYi@5a|d5U` $uQpW^!ڷ#ĞT#a"PUrYkB9Q˻N30hn-B't0%h܉j ҇#qg"p?π?';Y }Lc [G?Q*/ _CuQP"Dj!W vOfP 3?L_Po-?I&K"[ß=?l9؃DcGA .9; cZI #0ߠ7~m)QvG ]A3 ?!뜤x o;Jqi߿l ٰ0E *Ox8$GX(aD>/3y @~e/m-:u "6!y\_rua:IՏ2~P _oݽM(kzɿvGʷü,<Io>0QIwka5YǬp/Ǵ86hv%z &*،7&`fMز-fOBJjN`ZgglƜz1#D2 yXɔYfhuº{ؗ99xQjNMԟj(F_gl1Tr3&׆憌;[|͛ooy~Ҟ~k<|\\xc@gs '+Vw t:+nykfMfnZ޾U7lṧ{t >! rXK?9+CO-rˇ}?~䡃W;'_WQ?uNl}f]/wc -i^3tZIʨ۲egeg=G6mnw^M2wخM7lj8Wp07|:^m|#{__pohK`n垾EVSۜVac_9P^]Bɋ}tTg&$ԉ8 F޷$Ņ-)ELF> @0@8 @@@@ UU11x(>  88800hhh$$Std88800PtdddQtdRtdPP/lib/ld-musl-x86_64.so.1 GNUGNU)c1L"rj=< B!\BCEFGHIJ39gUa) vPH6l;nw=C "-}&fW]W5 4 aN IX\P4j DLH. @ R    P_init_fini__cxa_finalize__libc_start_mainstderrfprintfmunmapfreestrcmpstrcpyfstat__stack_chk_failsnprintffaccessatstrlenexitgetenvfnmatchstrtollstrdup__errno_locationstrerrormallocstrrchrreallocstrtokstrcatregexecstrncmpmemchrunsharestdoutfilenowriteasprintffflushsystemstrchrmemmoveputsfstatatopenatmmapatoireadlseekfdopendirstpcpyreaddirclosediropterrgetopt_longoptargsscanffreopenoptoptaccessregcompregerroroptindttynamestdinfopengetlinefcloseprctllibc.musl-x86_64.so.1__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info (08@ H P X ` hpx !"#$ %(&0'8(@)H*P+X,`-h.p/x0123456789;<=>?@A I G D@EHCLBPJ :WUUUUUUUUUUUUUUUUUUUUUUU#"""""""EDDDTEU**UUUUPX5%@%hUE111SHQ&1E111ҿ1/ E # 1!H=v4H=vH4H=pH4HHbvH=tZ[]H1HH5H7HWLME1H H=DH=HH9tHHt H=H5H)HH?HHHtHuHtfD=uGUH=Ht H=RgH='t H=]ff.@H=t&UH5~H=H]8+HH ‰H H HHt H9wuHÀ(fHGu@@tÀ(BHGuf@f@tð-tR -tW-tXHIPu -A tpSA@u -AtsAMr A -smA Xr A -sxA oEr A -seAVRr A-srBLH60t+LHШt!LHtLH t LH0u5H PH53H7L8H=1HZHAWAVAUATUSAPL/MH(HLwE1L=AF,tI9s~LHA|tǃuZHuLOLH KLVH5L hHiPHAPH=(P1H Ij}(LmLuE1L=AE8tI9szIk8A<t ǃuZHuLOLLQH5PHPL H zHH=|APP1aH InHE(<uCHuHHހ=-~u trFltd~`HU0HvRHE<uFHk8Hu= H~ u Ht,HF*HtH~HU0Hv HH9s1ZH[]A\A]A^A_S<HtHw0H{8tH[%AWAVAUATUSHH_Ht$Hu11(IHW=4 fB2Db0Dt fADfD9sMk(E1E1I݀= AMtA׉8A;V0sbHt$I~XuMHtELHRH t$L H5<HAPPH=1H HAH(E9eA~(IV=T I^fB>DbEtcHHHuLEL^EtLLHٗVH Iw@L wH5ItHqATUAPPLgHs@H L ?UH5PtH8H=APP1H 8Ht$D$ %LL H PH HH5 ts@ATUAPP4LHQH57ts@L H XHATUAPPH=T1<H0=t>LpHHZH L DH=H5tAPP1XZH$dH+%(tHĠ[]A\ATUSHdH%(H$1=:u1H?HtE1(HHs qHHtHSxtHHHE1HH9sd:HcDŽtHtOHtAHuӋztbǃAt=Y=EH<{(HLK DLHtHsHxEtHHHIHL9sFH>EtHHt1HiAHuH~EtHǃAtB="=t6E{8Ht$T$ iEHvrEEuHirH$dH+%(tHĠ[]A\AUL-BrATIU1SQH;-stHHHtf=t/uHuHH!HL1HM1ҋ=H޹tHH1Z[]A\A]AWH qH5qAVL5AULAH=qATUH-SI1H(dH%(HD$1D$H5qH=q1I<$HtA|$Pt9LI ٸL%L=q9LH}u~~H=q1 L1}HuuHH=sq1o3HHt$KHt$HT$)L'tH=Cq1:I4$1H IH=2q^H=&qL1DS@tHsHHH=H=qHHt(H5 qHtH5pHt[AUATUSHH $HdH%(H$1Hu1YHHL-pLMtH HtLd$L1LYM1HLPtH빸H$dH+%(tH[]A\A]AWAVAUATUSH8=iHt$HT$HL$( HMHzIH9H@sH9s H9s HgH9rH--- --- A(---HI/MoHS11E1E1HD$ AE,tH9D$ }t,ljQtdID$HD$MtFLHZASH Aw@L H5/oHAPPH=1~H I@H5/Ld$HL$A1H=RtdudHL{HԏARH #Aw@H5nL IHHGAPPH= 1AHL$0H HHI@H5jHL$(AHL$AD UEt €=Ut D}Ett>=7t5v0Et ‰U!!Et g‰׉H5HH9s HrH9 H9s HpH9f0If2@BHD$ H I_H fAE2tEe0Hk(H݄tfAfD9}uEt}Iw0H9]}tH)H9CAE1E1HD$={u\MPH}@;7IW0H)<HH9IH5lCMt$MtFLHCAQH Aw@L H5lHAPPH=1gH I@H5=?{tlj= t tpH\$tWtAtXv+L-H1H ՌH=H5lMAMHD$IH(I9{E11MuwI@H5I(HD$HkH1H9H@s H9H9sHkH9X1Af!W1E1E1A(I/MoHN1HH|$ AE8tH9D$ }tljQtdID$HD$MtELHHVH Aw@L H5jHAPPH=1mH I@H5Ld$HL$A1H=RtducHLjHÊQH5iAw@L @H HH7APPH=1AHL$0H HHI@H5sZHL$(AHL$AD{UEt €=Et D}EttA='t8v3Etvlj}!!UEt T‰HHH9s HrH9 H9s HpH9sf0If2@BHD$ H8I_HD fAE>EtEUHHuoZ[]1HHHdL%(LD$8ILL$'I9s K H9rL9s J I9s LLL$DHLBD'Ht$HT$LL$t/LH1H ńH=λH5ad1HxHT$8dH+%(trHHQ޾HuG;8ýH=|LH ^IHH5d1EZHH|$ٽLL$Hu4H=(LYH H5cH<HAWAVAUATUSHH<$HtaIHvXPHN,3H1;HHl$E8Lu0H]Lm u{Eu {Lu{FtH1HD$iDcD{DCAD$<wAG<w AsH=H )AH=IAH=NIoAH=H\AQH=H5bAPLRH P1LL$ H $D$?E1LD$HD$H;ɸHH\$HD$@HLU@u |$?Eu$3u$!|$u$ $Ȅu =Eu$Eu$|$u$A*HbZ=v$H=H‹$H=$H=8Hyt$H=IfH\$(H5ZIHD$H;H@HuH5YWH=Zt$RH1QH$H =1HH\$@11E1Ht$H<=t$H=H\$XMHYH$HI1HHL$ HstLHt$LHH&uDHD$s3HD$ H8tHT$0,HTHT$0Ht$H|$ HD$HD$(H$XdH+%(tcHh[]A\A]A^A_AWAVAUATUSHXdH%(HD$H1H=H1HT$(IH|$8Ht$0HLd$0MLt$(M{(UHkA|$AL$$uH+ωH11Ht$@HtA|$tlj1HHHHD$HD$@HD$H9l$HC HH9UA~D=\HsEt׉H HH9Ht$HBHs0H9HH)H|$H13H,}M UDM Et 8Ht$8PDHRAHQLPLD$(HL$8bH H{(XDL{I|$It$8EuIHIH1҉HT$@tID$ EtH1HHkHD$@HD$LI9HC HI9>A7D%LCIVEtHGH8HI H9HL$HBHK0H9H)H|$H1ԮHEGIAwEOAEtfHDHT$8WAVHLAPPLD$(HL$0H I=H|$8t U1H8*t A}1=uHD$HdH+%(uxHXH=dU[]A\A]A^A_QLPH7sH ss@H=ΪH52UL APPH1H|$XH UHD$HdH+%(tZHXH[]A\A]A^A_AV1AUATUS1H dH,%(Hl$HHD$Ll$HD$HD$H;]s:HUL$Mt-HLt$tL,LLLLHHT$dH+%(tH []A\A]A^AWIAVAUIATAUSHH8u =qH=QH5vNHH;IH{(t{(HHuHk =BHkxt膿H1HHT$HC HHH9s uHcE }MHtHu˄ANUt/׉&;S0sHSH$EtH L 1=uPA}tH,H==?tH<$HHuH4$HH=/AE"IjH5LL hHiPHaiAPH=(P1H IID$@u!H=ؠʤH5KƣH=H5JޤD$T1D$SD$VD$UD$WH\4(@HMHL$(#t#@%tHH=Hl$(EHL$(@#@+D$ AFD$HuAF0h|$ W|$HD$ JA~D$H=HD$0E1LD$HD$8HL$H9L$x|$huHD$HL$,Dd HD$8(D`tܰDҰAċD$ 9r L$H9r= D$SHD$LCxt蕰IL9C s4LK@Lz1H )cHbH=+H5FHD$Dx$t?ljHD$IE1Lɋ@HI9sHM,0t1H=MFHsHHHD$p1H=9FMtNMtBAUt:A={Hst׉路HH=C1HH=E1H=EHD$@1jDH=E1UHD$ HSxtGHE1E1HL$pH|$pt.zt#Ht$@H9sDH9sIAH1H=EMtvAUtnMt`ADHsEtŮ׉輮HA}HEt覮HD$@H9s H=&EH=B1uH=DH= E1[DDH=EHD$p1A=zHHM=ϿA}tEHD$IF(HD$@uUu2AFt*HD$ E1Ll$0L|$hHD$8DHL$hH9L$xuQHD$XI8HD$Hg@8t詩uH|$蠩H|$@HD$葩A~HD$@~끃|$`uHD$8H(L`ImMeEtHWLHLIHD$H9r HL$@HH9r=Y $D$SHD$LSHxEtHIL9S s4LK@L1H [HϖH=H5>{HD$MI Hp8Et H諨HHD$E1Hx LHH9sMkO< Et~HH1H=>HHsHHD$p1IH|$H=>tWMtKEEtCHD$=ܹHsHPtH!DHAIH=+<1LH=Q>1ۓHH=N>1ɓLH=N>1HD$DcHsHxEt訧HHE1E1HL$pH|$pt,H~Et聧HH9sI9rLIHI1H==BMt~EEtvH|$teHD$D ܸHsHPEtHDHAIILEtHH9s H={=H=;1ʒH==H=u=11LH=r==צH5HM=,ItxHMH=H$8dH+%(u1H=HH[]A\A]A^A_%H$8dH+%(tHH[]A\A]A^A_AWAVAUATIUSHHBdH,%(H$8H%=u"=tILd$<$1HLr<$AD$t%=~HH=.1GstЅu=ΦtH1D-ÃEtPr8uEIH؃H=APH HLɃH5B.P1qAYAZa=T8HH=*.H1x,Mt$0Mu)H$L$MEu  E1AL1IHu5H=~H5-IQLAVH G1H^_ELHHIHuLL!X8@<> t0@u6A}()=ʔHH=e-1rA}(1H)H9srHL$MtgA<$Eu5L5x1MI6Ht!LIdu HAL/HLL@9u L) HHtL=mID$0=H-H$ʓHH$HHYHH5V,HB=u  H4$E1A1L%IH5 HtA<$HL=A<$<LH<= tf=` 2;H5kL~A<$H5kHt;=t2L |LmH EH5v+HPH=|1E1LH=N=*1H4$LH, 4~f=//H=t(L LH DH5*Hf H=HxHHHA<$HH^~HH9%*HEH~HrH€: uH1HQ%L5π<#=15=Ր/( I#eHHw*LA<$H}IH91M Hx;A<$HHD$H}LD$H9RA(ILhH >RL zH54&HzH=uSAUAPP1xH05H9s HTH9 H9s HH9HHHDD$@%=uHT$|$L@="{=@=cyuHD$(H9$|$L0ALyH$HdH+%(twHXD[]A\A]A^A_H=xtrHq$ ~$ 1@LH=tqH>H;-]qHL4MAPՀ<%twA>*uILd$H$LLWoDžtH$LHxoLpMHpQH5H 4SH=k1neoLIƄ{A<%uLrkIcHH=PpHH=MpHpH qHpHp1H=v2pppppppHcЊD@AIcAHA#t %DAxACA%Dʃ#AQ4HcHpoooo}֐tkoboYoPhG^>s5LmRH 2PHmH51H=ilDHD$@7=EH1ouHT$@H5H=o=-tHT$@H5H=n=ntHT$@H5H=nܳ=ntHT$@H5sH=n軳=ntHT$@H5VH=n蚳={ntHT$@H59H=tny=YntHT$@H5H=SnX=KtHT$@H5H=2n7=tHT$@H5H=n=mtHT$@H5H=m=mtHT$@H5H=mԲ=mtHT$@H5H=m賲=e~tHT$@H5nH=m蒲=C~tHT$@H5QH=lmq=@tHT$@H54H=KmPH=}tHT$@H5H=)m.H=ltHT$@H5H=m H=ltHT$@H5H=l=uHT$@H5H=lɱ=h}~H5lH=1i=yt =@}u EHk11E1E1H$HkHD$H$H9tgHD$HIHtVEuH5ILiAEuH5LiA@uH5 Li@HEuH5H=:kEu H5H=kگ@uH5H=k软=ku={k%1H;jsHjH [dir2 dirN file2 fileN ...]Scan ELF binaries for stuff* %s Usage: %s [options] %s plRmyAXz:xetrnLibSs:k:gN:TaqvF:f:o:E:M:DIYO:ZCBhVOptions: -[%s] -%c, --%-*s--%s %s %*s* %s For more information, see the %s(1) manpage. NOCOLORyestrue%s%s%s%s%s: %s%s%s(): %s: multiple PT_GNU_STACK's !? %s%s%s: %s%s%s(): %s: multiple PT_GNU_RELRO's !? .note.GNU-stack%s%s%s: %s%s%s(): %s: multiple .note.GNU-stack's !? %s%s%s: Invalid section flags for GNU-stack !WX%s%s%s: %s%s%s(): %s: section table is corrupt - %s%s%s: ar: invalid number: %s %s%s%s: Could not strdup(): %s %s%s%s: Could not malloc() %zu bytes %s%s%s: unknown ELF settings: %s: {%s,%s,%s,%s} %s%s%s: %s: Incomplete ELF header %s%s%s: %s: Invalid program header info (%i) %s%s%s: %s: Invalid section header info (%i) %s%s%s: Could not realloc() %zu bytes ,%s%s%s: could not realloc() %zu bytes DEFINED %s%s%s: invalid symbol selector '%c' %s(%s) %5lX %-15s %-15s %-15s %-15s %s %lX %s %s - %s%s%s: %s%s%s(): %s: corrupt ELF symbols %s%s%s: ELF lacks DT_NEEDED sections: %s ??BE%s: scanning file {%s,%s} %s: scanning file FILE TYPE PAX STK/REL/PTL TEXTREL RPATH CLASS NEEDED INTERP BIND SIZE SONAME SYM LIB TEXTRELS SECTION ARCH OSABI EABI PERM ENDIAN %s%s%s: %s%s%s(): '%c' has no title ? %s%s%s: %s%s%s(): ELF is missing relocation information %s%s%s: %s: DT_REL is out of file range %s%s%s: %s: DT_RELA is out of file range %s%s%s: Unknown relocation type %s%s%s: %s: corrupt ELF symbol %s: (missing symbols)(memory/data?) [r_offset=0x%lX] r_type=%lu in (optimized out: previous %s)(optimized out?) [closest_prev_sym=0x%lX] %s -r -R -d -w -l --start-address=0x%lX --stop-address=0x%lX %s | grep --color -i -C 3 '.*[[:space:]]%lX:[[:space:]]*R_.*' %s%s%s: asprintf() failed: %s %s%s%s: %s%s%s(): ELF %s has TEXTREL markings but doesn't appear to have any real TEXTREL's !? %s%s%s: ELF has multiple %s's !? TMPDIRRPATH [%s] != RUNPATH [%s] - %o.interpELFOSABI_%i%s%s%s: %s%s%s(): '%c' has no scan code? %s: skipping non-file %s%s%s: %s: could not fix: %s %s: skipping file: %s %s%s%s: mmap on '%s' of %zu bytes failed :( %s: not an ELF !%s%s%s: lseek() failed: %s %s%s%s: %s: invalid ar entry %s%s%s: %s: Duplicate GNU extended filename section %s%s%s: %s: GNU extended filename without special data section %s%s%s: %s: GNU extended filename has invalid offset %s:%s%s: does not exist %s: skipping dir: %s %s: scanning dir %s%s%s: %s%s%s(): Skipping '%s%s': len > sizeof(buf); %zu > %zu 1.3.8pax-utils-%s: %s %s written for Gentoo by %s%s%s: You prob don't want to specify -f twice ELFCLASS32ELFCLASS64w%s%s%s: Could not freopen(%s): %s %s%s%s: Could not open root: %s %s%s%s: Option '%c' is missing parameter %s%s%s: Unknown option '%c' or argument missing %s%s%s: Unhandled option '%c'; please report this OBJDUMPobjdump%s%s%s: regcomp of %s failed: %s %s%s%s: invalid format specifier '%c' (byte %i) %o %x %O %Z %D %I %Y %e %t %r %n %i %b %S %T %s %k %N %F Format: %s /usr/lib/usr/local/lib%s%s%s: PATH is not set in your env ! -%s%s%s: Nothing to scan !? QA_TEXTRELSQA_EXECSTACKQA_WX_LOADEM_NONEEM_M32EM_SPARCEM_386EM_68KEM_88KEM_860EM_MIPSEM_S370EM_MIPS_RS3_LEEM_PARISCEM_VPP500EM_SPARC32PLUSEM_960EM_PPCEM_PPC64EM_S390EM_V800EM_FR20EM_RH32EM_RCEEM_ARMEM_FAKE_ALPHAEM_SHEM_SPARCV9EM_TRICOREEM_ARCEM_H8_300EM_H8_300HEM_H8SEM_H8_500EM_IA_64EM_MIPS_XEM_COLDFIREEM_68HC12EM_MMAEM_PCPEM_NCPUEM_NDR1EM_STARCOREEM_ME16EM_ST100EM_TINYJEM_X86_64EM_PDSPEM_FX66EM_ST9PLUSEM_ST7EM_68HC16EM_68HC11EM_68HC08EM_68HC05EM_SVXEM_ST19EM_VAXEM_CRISEM_JAVELINEM_FIREPATHEM_ZSPEM_MMIXEM_HUANYEM_PRISMEM_AVREM_FR30EM_D10VEM_D30VEM_V850EM_M32REM_MN10300EM_MN10200EM_PJEM_OPENRISCEM_ARC_A5EM_XTENSAEM_VIDEOCOREEM_TMM_GPPEM_NS32KEM_TPCEM_SNP1KEM_ST200EM_IP2KEM_MAXEM_CREM_F2MC16EM_MSP430EM_BLACKFINEM_SE_C33EM_SEPEM_ARCAEM_UNICOREEM_ALTERA_NIOS2EM_AARCH64EM_TILEPROEM_MICROBLAZEEM_TILEGXEM_ALPHAEM_RISCVEM_LOONGARCHDT_NULLDT_NEEDEDDT_PLTRELSZDT_PLTGOTDT_HASHDT_STRTABDT_SYMTABDT_RELADT_RELASZDT_RELAENTDT_STRSZDT_SYMENTDT_INITDT_FINIDT_SONAMEDT_RPATHDT_SYMBOLICDT_RELDT_RELSZDT_RELENTDT_PLTRELDT_DEBUGDT_TEXTRELDT_JMPRELDT_BIND_NOWDT_INIT_ARRAYDT_FINI_ARRAYDT_INIT_ARRAYSZDT_FINI_ARRAYSZDT_RUNPATHDT_FLAGSDT_ENCODINGDT_PREINIT_ARRAYDT_PREINIT_ARRAYSZDT_GNU_PRELINKEDDT_GNU_CONFLICTSZDT_GNU_LIBLISTSZDT_CHECKSUMDT_PLTPADSZDT_MOVEENTDT_MOVESZDT_GNU_HASHDT_TLSDESC_PLTDT_TLSDESC_GOTDT_GNU_CONFLICTDT_GNU_LIBLISTDT_CONFIGDT_DEPAUDITDT_AUDITDT_PLTPADDT_MOVETABDT_SYMINFODT_VERSYMDT_RELACOUNTDT_RELCOUNTDT_FLAGS_1DT_VERDEFDT_VERDEFNUMDT_VERNEEDDT_VERNEEDNUMDT_AUXILIARYDT_FILTERScan all directories in PATH environmentScan all directories in /etc/ld.so.confUse alternate ld.so.cache specified in Use ld.so.conf to show full path (use with -r/-n)Root directory (use with -l or -p)Scan directories recursivelyDon't recursively cross mount pointsDon't scan symlinksScan archives (.a files)Utilize ld.so.cache to show full path (use with -r/-n)Try and 'fix' bad things (use with -r/-e)Sets EI_PAX/PT_PAX_FLAGS to (use with -Xx) Print PaX markingsPrint GNU_STACK/PT_LOAD markingsPrint TEXTREL informationPrint RPATH informationPrint NEEDED informationPrint INTERP informationPrint BIND informationPrint SONAME informationFind a specified symbolFind a specified sectionFind a specified libraryUse regex rather than string compare (with -s); specify twice for case insensitiveLocate cause of TEXTRELPrint only ELF files matching etype ET_DYN,ET_EXEC ...Print only ELF files matching numeric bitsPrint EndiannessPrint OSABIPrint EABI (EM_ARM Only)Print only ELF files matching octal permissionsPrint ELF file sizePrint all useful/simple info Only output 'bad' thingsBe verbose (can be specified more than once)Use specified format for outputRead input stream from a filenameWrite output stream to a filenameDon't emit color in outputDon't display the headerPrint this help and exitPrint version and exitldcacheuse-ldpathrootrecursivemountsymlinkarchivesfixsetpaxtextrelrpathneededbindsonamegmatchtextrelsetypeendianosabieabipermsallquietverboseformatfromfilenocolornobannerhelpversionET_NONEET_RELET_EXECET_DYNET_CORESHN_UNDEFSHN_BEFORESHN_AFTERSHN_ABSSHN_COMMONSHN_XINDEXSTV_DEFAULTSTV_INTERNALSTV_HIDDENSTV_PROTECTEDSTB_LOCALSTB_GLOBALSTB_WEAKSTB_GNU_UNIQUESTT_NOTYPESTT_OBJECTSTT_FUNCSTT_SECTIONSTT_FILESTT_COMMONSTT_TLSSTT_GNU_IFUNCPT_NULLPT_LOADPT_DYNAMICPT_INTERPPT_NOTEPT_SHLIBPT_PHDRPT_TLSPT_GNU_EH_FRAMEPT_GNU_STACKPT_GNU_RELROPT_PAX_FLAGSELFCLASSNONEELFDATANONEELFDATA2LSBELFDATA2MSBEV_NONEEV_CURRENTELFOSABI_NONEELFOSABI_SYSVELFOSABI_HPUXELFOSABI_NETBSDELFOSABI_GNUELFOSABI_LINUXELFOSABI_SOLARISELFOSABI_AIXELFOSABI_IRIXELFOSABI_FREEBSDELFOSABI_TRU64ELFOSABI_MODESTOELFOSABI_OPENBSDELFOSABI_ARM_AEABIELFOSABI_ARMELFOSABI_STANDALONE`_____`_dSd-dcccodEd--- --- ---6RRRRRRRRRRRRRRRRFRK=R2.RRR)RRRRAR$ךZ#Ù#cØZcCCCZ&ʴжf߸}"CRƛhڣߣڣߣ=bZufB!=+dk7dS(FN.oM_7W'jj v ^ scanelf_file_textrelsscanelf_elfobjscanelf_diratscanelf_file_symrpath_security_checksscanelf_file_phdrscanelf_file_find_phdrelf_findsecbynamescanelf;d+0KPKt EMJMiMMMM N (O8RQQS$pbFdJg,i,kk9m0mLNn_y\zk{{|Pehhҁ\pt ( = x( h  & O zRx $I FJ w?;*3$"DKXKlKK$K&KBKldL*BBB B(A0A8B@HVPIXH`L@tHHPeXA`L@8D0A(B BBB<N0AidXNBBB B(A0A8DPXK`WhApSPXR`WhApSPW8D0A(B BBB`XPBBB B(A0A8G 8H0A(B BBBF D8A0A(B BBB,$^OKA ABA,T`OFD ABAZcBDA JM JWABAE QOWALC XBABAB OJWABAS|AIA` AAB0,dBAA G AAB4``fBID C(A0(A ABB0fsBPI O(A0H8I`hcAa<HhBBA A(G I (A ABB(h BBB B(A0A8DpxKWASpPxKZAcpHxKWASpxKWASpOxKZAcpYxKWASp[xRWASpF8A0A(B BBB(rOSDD .AAA$tDP<tUASTuRD M|l:uBBB B(A0A8DPXP`HhHpQP XA`OXBPX]`OXBPrXV`NXAPO8A0A(B BBBxRD M8xBBB A(A0}(A BBB4@FyvBBD D(D0_(A ABB4xyjBHJ O IIE lABDyBEB B(D0D8D@8A0A(B BBB$z\ *zBBB B(A0A8G u K A F R 08A0A(B BBBl BBB B(A0A8DJKDS;HKAS^ 8H0A(B BBBE HQWAX_8D0A(B BBB<BDB A(A0FP0A(A BBBHPlBEB E(D0A8Gp8A0A(B BBB$5;ACA sAAH$BBB B(A0A8G*]IHLAJBDSAZAIA.AKBm JWAE  ]IASd 8A0A(B BBBF `8A0A(B BBBh LBBB B(D0A8GVJBIWA8A0A(B BBBh BBB B(A0A8G L##H#]#B#B#A#L#8D0A(B BBB 2)p G#BHB E(A0A8N OE OZ Hb 8A0A(B BBB$ >AHK AA!!+3:CJQX_g o ~$ȿ%п&ؿ'߿()*+,-.!/,031=2F3P4\5f6m7t8|9:;<=>?BCDEFGHIJ KLM'N3O:PBQKRTS[TcUkVsW{XYZ[\]^_`abcdefghi"j.k8l?mGnRqbmx&   # + 3=FRYblv ! o1oCoTo`olowoooooooooooo oo o,o7oAoNoYogt~.Qn!Sf3Le2COh0RtplRmyALXzxet$r*nKi1b6S,sDkN=gDTME-MSDZI`YeOZkaoquv}FfoCBhV(3AKV_ ny PtdQtd%Rtd2eZgs 1 @ Q b@ua Ro    0  o$H#x% & ?HQGCC: (Alpine 14.2.0) 14.2.0.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment 880&hh$9opC K  S ]B00gHHxq b  w0 0 "}RR$dHH8 0    (@(# 0(DELF>!@H@8 @$#@@@ 880000B0B0B hpMpMpM88800hhh$$Std88800Ptd,6,6,6TTQtdRtd0B0B0B /lib/ld-musl-x86_64.so.1 GNUGNUX"eȠ[~RPX)92h 'u"S=g  E], L`Ma ZhM  Po 5%fflushexitpathconfsetlocaleoptindputs__errno_locationconfstrgetoptstdoutmallocstderr_initfprintf_fini__cxa_finalizeerrxstrcmp__libc_start_mainferrorsysconffreelibc.musl-x86_64.so.1__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info0B"8Bp"@B$HB$PB#XB#`B#B0B0B0B 1B1B31CK1(C`1@Cp1XC1pC1C1C1C1C1C1D1D20D2HD.2`D>2xDQ2Da2Dq2D2D2D2E0 E08E1PE%1hE:1ER1Eg1Ew1E2E2E2F2(F2@F3XF3pF"3F1F1F1F1F-3G2G"20GE2HG2`G2xG2G53GH3GY3G1G1H1 H28Hh2PHx2hHh3H3H3H3H3H3H3I3(I3@I4XI4pI54IL4Ig4Iy4I4I4J4J40J4HJ4`J4xJ5J%5J-5J75JB5JO5KZ5 Kk58K|5PK5hK5K5K5K5K5K6K5L5(L6@L5XL5pL5L6L5L2L5L6M 6M60M!6PPPOXO`OhOpOxOOOO O O O O OOOOOOOOO`MhM PHOPX5"/%$/@%"/hAWAVAUL-hATUHSHL&H5y/LHS/tau:0Hc/)Ѓ=/HTutH*H1~LL"H!L5v!MD$ 1L+D=/MEuT$ LH.T$ udC@@:t$ t=LHAƅy@=f/HvtH3H=E1.H.EuLH5PHcD uHH5K1-H=+-H=+ .H[]A\A]A^A_H1HH5+H7HWLTE1H H=>)fH=.H-H9tH-Ht H=-H5-H)HH?HHHtHM-HtfD=-uGUH=,Ht H=r-,gH=,t H=,-]ff.@H=-t&UH5~-H=H,]8+Q=-HWtH71H= 3,HH= 1,1ZPXH5 PHIIH1H= *6,{,=-tH1HH= %+H= 1%+PHwH?1ZATUHSH%,1ҋsHI+Hu4=,A$tt-t(HKHH5\ 1+H;HZ1[]A\ATUHSH+E111D}IG+HtpHD$H,+HT$H5 HHtc1}A4$H+Ht7= ,tHuHH= 1* H*HF+1"A<$tHUH5 1*H[]A\USHQ*1{0HS*Hu!}t%HSH5 1*H;H>1Z[]PX%s = %lu Usage: %s system_var %s -a %s path_var pathname %s -a pathname %s = %ld pathconf(%s, %ld)Can't allocate %zu bytes%s = %s confstr(%ld)sysconf(%ld)aundefined%s: invalid variable type%s: unknown variablePATHPOSIX2_BC_BASE_MAXPOSIX2_BC_DIM_MAXPOSIX2_BC_SCALE_MAXPOSIX2_BC_STRING_MAXPOSIX2_COLL_WEIGHTS_MAXPOSIX2_EXPR_NEST_MAXPOSIX2_LINE_MAXPOSIX2_RE_DUP_MAXPOSIX2_VERSION_POSIX_AIO_LISTIO_MAX_POSIX_AIO_MAX_POSIX_ARG_MAX_POSIX_CHILD_MAX_POSIX_LINK_MAX_POSIX_MAX_CANON_POSIX_MAX_INPUT_POSIX_MQ_OPEN_MAX_POSIX_MQ_PRIO_MAX_POSIX_NAME_MAX_POSIX_NGROUPS_MAX_POSIX_OPEN_MAX_POSIX_PATH_MAX_POSIX_PIPE_BUF_POSIX_SSIZE_MAX_POSIX_STREAM_MAX_POSIX_TZNAME_MAX_POSIX2_C_BINDPOSIX2_C_DEVPOSIX2_CHAR_TERMPOSIX2_FORT_DEVPOSIX2_FORT_RUNPOSIX2_LOCALEDEFPOSIX2_SW_DEVPOSIX2_UPECLK_TCK_POSIX_JOB_CONTROL_POSIX_SAVED_IDS_POSIX_VERSION_POSIX_CHOWN_RESTRICTED_POSIX_NO_TRUNC_POSIX_VDISABLEPAGESIZE_POSIX_ASYNCHRONOUS_IO_POSIX_FSYNC_POSIX_MAPPED_FILES_POSIX_MEMLOCK_POSIX_MEMLOCK_RANGE_POSIX_MEMORY_PROTECTION_POSIX_MESSAGE_PASSING_POSIX_MONOTONIC_CLOCK_POSIX_PRIORITY_SCHEDULING_POSIX_SEMAPHORES_POSIX_SHARED_MEMORY_OBJECTS_POSIX_SYNCHRONIZED_IO_POSIX_TIMERS_POSIX_SYNC_IOLOGIN_NAME_MAX_POSIX_THREADS_POSIX_BARRIERS_POSIX_READER_WRITER_LOCKS_POSIX_SPIN_LOCKSIOV_MAXPAGE_SIZE_XOPEN_SHMFILESIZEBITSATEXIT_MAXGETGR_R_SIZE_MAXGETPW_R_SIZE_MAX_PHYS_PAGES_AVPHYS_PAGES_NPROCESSORS_CONF_NPROCESSORS_ONLNCHAR_BITINT_MINLONG_BITLONG_MINSCHAR_MAXSCHAR_MINSHRT_MINUCHAR_MAXUINT_MAXULONG_MAXUSHRT_MAXWORD_BIT;P lxAn PzRx $p FJ w?;*3$"D=8Av\]0AAHxq-AO(oBAD dAB,BAD D0 AAB$]TAAD KAAH(BBB I(A0D8KPa8A0D(B BBB"p"$$###00c0 1c131K1 `1p11i111111122 .2>2Q2a2q22220$0%1&%1':1(R1*g1+w1,2/202_21223433"3a1111-32"2E222253H3Y31112h2x2h33333 33334454L4 g4y444 4 4G4C445%5<-575^B5 O5WZ5Ek5F|5U5V5S5T555655@655565256 66!6  5%0B8Bo 0 0O oo{pM& PGCC: (Alpine 14.2.0) 14.2.0,!#<Z 5%<}#00 <n 6%V int M s  *  ** *b !#TpT *40 OI!QU#Y08\#/_ 'R w  (D :  D)2* 0@p*,  c ?@+intm ,1- K 5 g   -=+,"s-F.\ K7*s '.1#7 B/all Pz h0"u* 1 @B0n"\2N,UP+:P3+=8z(8S*4errk"\"5= m"lN%Ox"' ""},,"? 7:L"6$0 ${$&"cp'S("("*(ch):8) SG #!#!/J   3!3!   E! U 0Q 0P! U 0_ 1U6T V0m UsTvQ} f /U| MUvT}7!gUsT|!~U1!!:8  #oZ9cp 7 G" val\+'##k"Uv$SLU1T W0Qv$D /$cp6E?F"hd!len P!val::m$" 5$T G   #T$ % A$T0Q0" q$g   #g #!% 42z$TsQX $$*w EA ][ $$ b lj |z$ U 0Qs$ Us+$T$ UX$ Us$SU1;  cp6F"val\#8 cp8H"<" #D, 7  %# U 09# U 0]# cp7'#G"B>#D " &" val8"[D %" val9*tf $" val/\= =#0 p"_Yb# T  0QURUXUYUm# U1>U,P2 __n,) __s,C: __l,OP__b. P__r/ P%D m#- N {Y D v#v# N Y &# U M0TUQT&# U R0%$T +%KGfb % % ?|z$$%SU1T 0$$/%D    zp   /_$ > I !I.?:!; 9! <4:!; 9 IBI~% U $ >  .?: ; 9 I< .?: ; 9 'I< I .?: ; 9 '@z: ; 9 IBH}U%I~I1BH}.?: ; 9 'I<H}H} !I &I : ; 9 I .?<n:! ;! $ >  ( 4:!;9 IB1RB X!Y W :!; 9 IB41B:!; 9 I4: ; 9 I?< :!; 9 I8 :!;9 IB4:!;9 IB.:!; 9! 'I@z:!; 9 IB4: ; 9 I.:!; 9! ' !: ;9 II!I/ .?: ; 9!'< 1RB X!YW !4:!; 9 IB"1RB UX!YW # U$41%.1@z&H}'% U( ): ; 9 I*<+$ > ,> I: ; 9 - : ; 9 .4: ; 9 I/4: ; 9 I0'I14: ;9 I2.?: ; 9 n'I<3.?: ; 9 '<4.?: ; 9 '<5.?: ; 9 'I<6.?: ;9 'I@z7H}8.: ;9 'I@z9: ;9 IB: : ;9 ;.: ; 9 'I <1RB UX Y W =.: ; 9 '@z>.?: ; 9 'I 4?1U%X.  < ! -KtXZ.  @KK   5%l   ww" #o t lJ .<f/ ws a!.=!s  <tuK   "..  Y< ,SJ X<. 'Y'W= .Z.  @**  ! 6%!x !#_initGNU C99 14.2.0 -mtune=generic -march=x86-64 -g -g -O2 -std=c99 -ffreestanding -fexcess-precision=standard -frounding-math -fno-strict-aliasing -fno-align-jumps -fno-align-functions -fno-align-loops -fno-align-labels -fira-region=one -fira-hoist-pressure -freorder-blocks-algorithm=simple -fno-prefetch-loop-arrays -fno-tree-ch -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -fPIC -fno-stack-protectorlong unsigned int_start_cdoubleargc__libc_start_mainlong long intargvsigned char_finicrt/x86_64/crti.s/home/buildozer/aports/main/musl/src/musl-1.2.5GNU AS 2.43.1optindprint_long__builtin_putsUCONSTANTprint_pathconfusagesize_tprint_uconstantprognamepathname__builtin_exitvalueprint_sysconf__builtin_printfNUM_TYPESstderrhandler_tfflush_IO_FILECONFSTR__errno_location__orig_confstrprint_constantferrortypeerrxgetoptconf_tableprint_string__builtin_strcmp__builtin_freesetlocaletype_handlersfoundGNU C17 14.2.0 -mtune=generic -march=x86-64 -g -Os -fstack-clash-protection -fno-pltprint_confstrconf_variableSYSCONFvarnameprint_ulongPATHCONF__builtin_mallocstdout__builtin_fprintfcrt/x86_64/crtn.scrt/Scrt1.c/home/buildozer/aports/main/musl/src/musl-1.2.5crtcrt/x86_64crti.s/home/buildozer/aports/main/musl/src/getconf.c/home/buildozer/aports/main/musl/src/usr/include/fortify/usr/include/bits/usr/includeunistd.halltypes.hstdio.hstdlib.herr.hstring.hlocale.herrno.hcrtn.sk!U"qx"#U!u"T!u"Q"#U#0 U^S^P0 )T)jVjQQR j\  BSshS V VV \m PR 0QQQQ#!!s$,s#!/ 03!s3! 0#UkSkoU#TlVloT#P:DP$UVU$TTA$PuXf$PPS5$ v5$ 0A$Pq$vq$P Sq$Q Xq$  z$P$v!)v$*S$v$S#U"U",U,8U#T"T"%T%8T#uT u 'U#Q'Q#UU#TT=#U$Q$0Um#UTU%U%-Um#TQT,T,-Tv#UTUv#TQT$ U RSRTU$ T TT$ P'1P %T!# 5%R# 3.$  j$#0  6%  #8#P' =#0- m#-8 #G #oV $d $TrB }@B(6 " 0" p"@P8B "`P00B;7IpMR,6e0Oj{`MMP"\P    P: !  !# 5 PAb 0 HO 5%U_hMfPmPr Scrt1.cgetconf.cprint_uconstantallusageprint_longprint_constantprint_pathconfprint_confstrprint_sysconfconf_tabletype_handlerscrtstuff.c__EH_FRAME_BEGIN__deregister_tm_clones__do_global_dtors_auxcompleted.1__do_global_dtors_aux_fini_array_entryframe_dummyobject.0__frame_dummy_init_array_entry__FRAME_END___DYNAMIC__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE_stdout__TMC_END__puts__cxa_finalizeerrxmalloc__dso_handlefflush_initfprintf__deregister_frame_info_ITM_registerTMCloneTableoptindferror_start_c_ITM_deregisterTMCloneTable__bss_startgetoptstrcmp_finisetlocalestderr_edata_end__errno_locationexit__libc_start_main__register_frame_infofree.symtab.strtab.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_frame.debug_str.debug_line_str.debug_loclists.debug_rnglists#8806hh$Io8S [0c mBw r  }0 0 5%5%200*,6,6T66t0B0B8B8B@B@B0 pMpM0O0OPP PPx 0P0P Q _d%j020j=0o1Mp]Yvw"  }mELF>@xV@8 @$#@@@ XX 0-0=0=`p-p=p=88800hhh$$Std88800Ptd!!!QtdRtd0-0=0=/lib/ld-musl-x86_64.so.1 GNUGNUdErʼnIM,)!\)fUa92$")  _# Q@? X@=y :`=rh=k @(@ Uexitsetlocalefopenoptindperrorputs__stack_chk_failstdin__errno_locationgetoptstdoutnl_langinfooptargstderr_initfwritefreadfprintf_finiiconviconv_open__cxa_finalizememmove__libc_start_mainferrorlibc.musl-x86_64.so.1__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_info0= 8=@@P?X?`?h?p?x???? ? ? ? ? ????????@=`=h= @(@H?PX5"/%$/@%"/hAWAVAUATUSHH $H11L5MdL,%(L$IALLDB/tFlt0ctfH/΃stɃtH-j/H=A.1nHtoHtjHH.HD$ HH5Hs.H=d,HH5Ht HH51[.H=&..1H5|.Hu<.HHk%.HX.D9uIcH `AIL11T$A9?HIDH8?-uuH +HL$H !HH5-HD$H1HL$PH|$PHL$H$L$HD$H)HD$@HLt$Hq-HD$PIJH|$ HL$HHT$PHD$`Ht$@LD$`c-Hd-8THuyL$H5HD$<0LL$XLL$(,HL$XHT$pHD$xHHD$^ ? @w~ 6  x 6:w!w!=+ !#==T&==%1,=|y==N6$ 6 = = F %~n64&m O [eA 76266' 06k6(606{tob6+%cd LF bufW_ inV out V inb =Wl =ok =err6f )y wcO*VP WPWcd2Q)%4fUsT  TWQWRWXW*1DI?=QM+Dig7TT1RV?22 atO|x[gsR,U~Q1vve *4#!UV~U|T}Q~3U  4QUvTs4vUvT  % 2 =LeU0T !\OU>sOU>T  mDUVTVQWRVXW | |xUVT  U ! ~I~I~,I:w?__d:9w__s;?!__n;K===>===__d=>!__n=J=__m>*=__f>5__b@=,1=__d16w__n1B=__m2(=__f23__b4=-ir/_$ > I !I.?:!; 9! <4:!; 9 IBI~% U $ >  .?: ; 9 I< .?: ; 9 'I< I .?: ; 9 '@z: ; 9 IBH}U%II~H}: ; 9 I.?: ; 9 'I< !I1B4:!; 9 IB $ >  7I H} 4: ; 9 I?< 4:!; 9 I: ; 9 IH}41B&I.?: ; 9!n'I<4:!; 9 I1I.?: ; 9 'I !4.?<n:! ;!:!;!9 IB4:!; 9 IB1RB X!Y W !I/4:!; 9! I4:!; 9! I% U$ >  : ;9 I!<" #&$.?: ; 9 'I<%.?: ; 9 '<&'.?: ; 9 '<(.?: ; 9 'I@z) *1RB UX Y W + U,!I/ -.?<nU%X.  < - -KtXZ.  @KK  Uv  ww$-8 0. .st=s- <-5X Qt5y. tz.Q<g[,tg EXj X X fX#<t#<XJL Xgt Y  u q X sXX:Y;Yh f pX<g/fYjy=WZW W =JYX XfY X)X\</ JYX UX X%K'tQ2.% ..Z.  @@@ ! V!x -#_initGNU C99 14.2.0 -mtune=generic -march=x86-64 -g -g -O2 -std=c99 -ffreestanding -fexcess-precision=standard -frounding-math -fno-strict-aliasing -fno-align-jumps -fno-align-functions -fno-align-loops -fno-align-labels -fira-region=one -fira-hoist-pressure -freorder-blocks-algorithm=simple -fno-prefetch-loop-arrays -fno-tree-ch -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -fPIC -fno-stack-protectorlong unsigned int_start_cdoubleargc__libc_start_mainlong long intargvsigned char_finicrt/x86_64/crti.s/home/buildozer/aports/main/musl/src/musl-1.2.5GNU AS 2.43.1iconv_openoptindoptargfopen__builtin_putsdummypsize_tunitsize__stack_chk_fail__orig_fwritestderrfromdummyiconv_toutbuf_IO_FILE__errno_locationiconvferrornl_langinfo__orig_freadgetoptwchar_tsetlocaleGNU C17 14.2.0 -mtune=generic -march=x86-64 -g -Os -fstack-clash-protection -fno-pltstdin__bdperror__orig_memmove__builtin_exit__bsnl_itemstdout__builtin_fprintfcrt/x86_64/crtn.scrt/Scrt1.c/home/buildozer/aports/main/musl/src/musl-1.2.5crtcrt/x86_64crti.s/home/buildozer/aports/main/musl/src/iconv.c/home/buildozer/aports/main/musl/src/usr/include/fortify/usr/include/bits/usr/includestdio.hstring.halltypes.hiconv.hnl_types.hunistd.hlanginfo.hlocale.hstdlib.herrno.hcrtn.sk-U"qx"#U-u"T-u"Q"#U#0?U?\|\0?T?]Tl0SSl0VVPV~FPKUPPPNVV?-P-_ l00V W#(V l00V1VR'P'VP"U111RV1 2 ^ ^2 T T2 1 12    vVvTvQv v -#U*/5:=0V x!/ P1 D Z@@f8= `@00=!p=!0?@=@#("7 @>I@Vg mu  (@`=  -#  @^ 0  Uh="(/@6@;LQc Scrt1.ciconv.ccrtstuff.c__EH_FRAME_BEGIN__deregister_tm_clones__do_global_dtors_auxcompleted.1__do_global_dtors_aux_fini_array_entryframe_dummyobject.0__frame_dummy_init_array_entry__FRAME_END___DYNAMIC__GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE_stdoutmemmove__TMC_END__perrorputs__cxa_finalizeoptargiconv_open__dso_handle__stack_chk_fail_initfprintf__deregister_frame_info_ITM_registerTMCloneTablenl_langinfooptindstdinferror_start_cfread_ITM_deregisterTMCloneTablefopen__bss_startgetopt_finisetlocalestderriconvfwrite_edata_end__errno_locationexit__libc_start_main__register_frame_info.symtab.strtab.shstrtab.interp.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_frame.debug_str.debug_line_str.debug_loclists.debug_rnglists#8806hh$Io@S [UcmB wr }00%UU2 !!8!8!0=0-8=8-@=@-0 p=p-0?0/@0 @0p 00001  ;L?%D020HD=0PHGMI2]LPM@" Ry UmELF>@p@8 @88 GGpppHH0008 xxx00$$Std00PtdsssQtdRtd000 GNU GNUEWMDvTS$B "IV"@dcPX`F$%&()*+-./013456789:<=>?ABCDEFGHIJKLMsW|3@P>;ZZ(aZ(6(y"EsE1u{,^T~3Qp^6']#9%gBg[4EW]Q[A6urTö##H8HcH0HHH9HH9s H<H9 H9s H<H9s HI H HHHDHaUHAWAVAUIATISHHdL4%(LuIjHHHH%HH)H9tHH$H%H)HtHLL|$LHILjIN@LLHAV8HEdH+%(tiHe[A\A]A^A_]UHAVATISHH(GdH4%(HuHHHHHHHH)H9tHH$%H)HtHLLt$H}ILjH}LLHiHEdH+%(thHe[A\A^]ATIHzUHLSH iuLc8Hk@[]A\I%`iOHw1Ʌx=Hf@ f wf wftf u PnhHHHHLG19s?I fI f wf wfu fu P"hHNHNH4HHLODGHH1H=JD9IfR f wgHcHHLHHCH;HH2H+HHc#HHHHHP HHHHHHsUHAWAVAUIATISHHdL4%(LuIgHHHH%HH)H9tHH$H%H)HtHLL|$LHIL:gIN@LLHAV8HEdH+%(tfHe[A\A]A^A_]UHAVATISHH(GdH4%(HuHHHHHHHH)H9tHH$%H)HtHLLt$H}IL?fH}LLHfHEdH+%(tfHe[A\A^]ATIHzUHLSHfuLc8Hk@[]A\I%eHcgHbHkHЃxt&1QgPt11ҸgZË~gPt11Ҹegþ%eUIHAUATSHHdH%(HE1"fAeJv _1H߉eHHcHQ"HHHH)H9tHH$%H)HtHLLd$II9s I H9s L9s H I9LHH HH9s HW H9rHHH9sH9rHGHGGLdAŃt LzdHEdH+%(tdHeD[A\A]]USHH $HH $HH $H8dH,%(H$(0H-FH=eHT$(0HcHtKHHrcHuH5FH]cHuH|$(duH|$tH$(0dH+%(tGcH80[]H9=.etVSHH=eHtcHeHu 1Hd$H5*FHWcHdH=dt[[H=dtVbHt HY]ZHHGt H؃HHH H)H eHdHHAHhHD7HHdHUhHH9r HPH9r H@HuUHSHAPHuYHH[]%aHxHH9tatZ[]H=-hSHWhH$hHHh h~bH=gu&HgXXXX1H=xgbg^gHb*aHgaHHgHt `H gHPH|gH!HQH!H ta[H3 AWAVAUATUHSH_H(H=6gufuHocL%PcH9s H=fat HM HHLHut+HHHl0 H)HBY H)--fM H)HH98 H9bVHHHwHH{HsH9u!5bXHIL@H9tH9r^H9tH9rTHwH~/HsH{0H9t@HKH9r1HqHNHHK8LIJI9PuoK4HtTH9s}_Hs(LK(Hu Hs HtLK HMHLI(HI(HuHN LN HuI9r1I*눾!5aH9rH9_ uHw Hw(HukHK H~0HtH9mHN Hq0HK(HtDH9SHN(Hq01IHHHփu"HHHQaHIHHSIL9IHIAL93aL $a HaHaHH`HHSI9uE1L`L`H9`0HHw1H wd1HHDHHhHHH@H9rH;HdH H9rH9rHRHuH)HHuHtH)kH5N`H=_`H)-cH)L=cLcMI?MOHH_t HH؃HLkAIwIJ+HD7H9H;_uE1L_L_HSLS0H9tHCH;_lHPHBOHS(HK(Hu HS Ht9HK HIHHH(H@(HuHB HJ HuL;S_1I MHK8HAJI;Pu)IHtH _H9s8!^\L;^I;Z uIR IR(Hu8HC LR0HtH9HB HP0HC(HtH9{HB(HP0LL$LD$Ht$LL$u Ht$LD$H)5aIMHM<LHtYH=wL )LHDHH1҉HC8HS(HHJHS ]u IỈ]HC0aI1Ht H9)LHHHBHI9t?HHH?HH4HtHH H; {]@HHS0H[H[4HBH X]H9H9E1HXHZHCHSL[0MMLxH(]hM9u)H\H]HH\HHSH:HHHHHHwPIxIpH9u!5\6HIL@H9t H9YH9t H9KHwH~IpIx0L9tIHH9$HqHNLIp(MP(Hu Ip Ht6MP HMHLQ(HI(HuHN LV HuI9E1MHIH8LQJM9Pu"K4Ht H9s4!5[XH9L9G uHw Hw(Hu8IH H~0HtH9[HN Hq0IH(HtH9AHN(Hq0HHHKHI9u#HC[HIHHHHKHHHH=wI5[H ID@u H5Z HHH9HXHYHKHC<HƿHH=wODAADD 捎)HǍNHL6H1ɋ5`ZAH{8HK(HK ADDLGJu KKĉ5-ZHC0ZK41Ht H9)HHHNHH9t;HHH?HLMtLHH9HHs0H[H[4HFH9H9HXH^HC1HsHC0W\tH(H=\[]A\A]A^A_%WH([]A\A]A^A_ATUH-SSHcXHkHHxHcXAHk|tEtuEu[]A\UHAWAVAUATSH=WdL$%(LeIgÅt$E1A"L1*VH+=WZW1H=B9L5M9H@HHH5$9lVIHu"1ɉ PWLLVt%HHH@LVL@Hu?IME1H8VH8EHAsVDHt E11҉8LjVLU8VEaW=Vy ==V=E1A"L1THH1HPH=8H@HHTxP|H57H=7UL=7IHHHH@LDUL@HxV LRUHtCHx >UHt/Hx LgTuL2ULTLULTbUtTt H=U~T(Uu1UUà H ~UH8ML5UHuSHVUHHQHHHHH)H9tHH$%H)HtHL1HH0M~*HTH0I9INIRI9 M)1H8uGD;TML1RIHu%=TMu SLsRHqMuHcTHBOHk|tDSML13RHHuLLQ=SLI)L%)TNl H==TRHEdH+%(tQHeH[A\A]A^A_]AWAVAUATUSAPH H=WHHuWuHv H=pWRRtA Hv HHI܋5SLLSHtmЃHH I|@HGHPH9u Ή5S*H;SrHWHzHWH;S'PHHHHPHLHZSL9AEAEDD !!DHcH?M\@ICLPM9uAAA!D RL;RdMSMZHIH 8M)IwHHxHILIHHpLHIt$L HtKHH5RHHI|@DjRAA HDRRHwHrHVH~L CRL%TR D,REDйD!DHIPLIHIM)Hy Ht HOHL)L9rLHIHHy(HuH=QH99N L9,LhLp0L9tHHH9LiIMKLh(HX(Mu Lh Mt5HX LIIHY(HI(HuIM I] HuI91IMHX8HKJI;Pu!M,Mt I9s3Dى QXI9xI;F uMn Mn(Mu8HH Mu0HtH9KIM Li0HH(HtH91IM(Li0IwMLHHPJL LIHL`IKO HtPHL|PHHIT@AADuD Hщ56P HJH9LRLQIJIRL PL)Pm H\H=OHI܅GHHAHHHwPIDAADD )ЍHDIAILkOKPHtt1It Lʹ9H)LE1E1HHHPHL)H9s HtlHIHP(HH?HD HtH9uLHtHIHLL u3(HHH wPLtE1LHGItQH|$LyH|$M/MuDI);u<E1L9t1B4I1AUHHt$LHcH HhHHtHLD$HHL9 A9totTtg tO tJutGut=DJAv:DIAv0DJ Av&v HIH9kIEIHBHL91L9H  uPt}uupP<tgHWHfR f wAH5 HcHHt)CH ;A@HD$(dH+%(t;H8L[]A\A]A^A_AUIATA1ULSHAQHtB11L1< wHcJ 21MIEw 1wHcHHLKIcAIKHH9tHH$H HL$1HD$HK|Ow6{HcHHLH9s HHH9 H9s HKH9s H /A|$McK H9s L@L9 H9s HH9rK AHHHH9uIGHEHMLLHuHEdH+%(t0EHe[A\A]A^A_]ËAw>u!HFtHHwHWH1ÐL$H7HHHHhLPHIMI:IrIRIJMB MJ(AIAZAHeHMH}HmDLOHt$AfDHÐHÐHfHHHHHHfH@f~f?D?fHF"ffF fNHVH f ifAoB0fAoJ@fAoRPfAoZ`fAobpfAofAofAoHfD$0fL$@fT$Pf\$`fd$pf$f$f$HH<$Ht$HT$HL$LD$ LL$(Iz Ir(IR0H$IL$ H<DLOHt$Af@@D@@DH@fn~.Dn.fHFf~F ~N HVH~HfD$0fL$@fT$Pf\$`fd$pf$f$f$HH<$Ht$HT$HL$LD$ LL$(IzIrLUIIHAUATE1SHHLoD_dH%(HUHE9KDfx H~{HcHHqHHHH)H9tHH$%H)HtHLHD$J4HH9s H<H9 H9s H<H9s HJI\AIE1Hu u IAL 1AqIJ|&?HHHI)L9tHH$%H)HtHLH|$HHMtH^(HcLVHF1H^ uHH1A9~CIAHLHItwItIuIu HHHLHEdH+%(tZ+He[A\A]]ËQHWB ƃf tfuN tD=HHt/wHt" Hu Hu GG9LG1E1{vwfHH9s LGL9rLL9sH9s Hw ILI%HGHHG1LLWHW(HO0øËwHHw1HHWUHAVAUATWHVSHA)t$IH)|$ HD)D$0HD)L$@D)T$PHD)]HD)eD)mD)uD)}dL%(L(IHH)H9tHH$%H)HtHL_I tLE1 Iq8AI1AD$HI1AA9~OHOL4AN HHwE4HAwHJIHw IsHH ILHHLLAH(dH+%(t((0(@D(PD(`D(pD(]D(eD(mD(uD(}He[^_A\A]A^]H$H.HFHHIH $$HT$L$LD$T$LL$\$UMLE LMAfDHcIAÐAÐ#IH"fIHfIÐHcIIIfDI˸AfAfA諸ÐHL$HT$LD$LL$ IJIRM'HL$HT$LD$LL$ IJ IR(MB0HXD$8L$@T$H\$PLL$(HD$(D$(HXPX    bgmrxgt6>GOX_ttronoexecr/proc/self/statusPaX:/selinux/proc/mountsselinuxfs libffiLIBFFI_TMPDIR/var/tmp/dev/shmHOME/etc/mtab/ffiXXXXXXy1LWc% "1,h,l=3,e=33333333L%L%;A0(X=p ,@@ @8 @ gg11ppp PP P 00$$Std00PtdTTQtdRtdppp  GNUGNUӒPSCqߋG*C"|D$AQ  ābK0 !0@"#$%&')+,-./012456789:;<=?@ADEFGHIJKL<3ҽç֡.×.@Jzf{OpɍHЖOHHh'mWp@Awlыy²ӝ(Q y/1Wgu6$cdjje{HJ-]vF96)5j+C|qa5bEg@Aِyʝ`;ܠU]{-{7"%F   St^ @ 3, m ==9 [g # 7 xc   U 2 # t+ &B Ed:F w P0 W  }5 xD /z x =s1 0^ /s( f >  =wL sn FD E/{ Gu QX a  [T [ GF| Y>: #[l ŝ  :z Њ5i 0  u_ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__deregister_frame_info__register_frame_infostrlensnprintf__stack_chk_failmallocfreefgetcungetcstrcmpstderrfprintfexitasn1_parser2treefopenfcloseasn1_parser2arraystrchrstrcatstrdupmemcmpasn1_length_derstrtoulmemmoveasn1_octet_derasn1_encode_simple_derasn1_object_id_derasn1_bit_derasn1_der_codingasn1_find_nodeasn1_get_length_derasn1_get_tag_derreallocqsortstrtolasn1_delete_structureasn1_get_length_berasn1_get_octet_derasn1_get_object_id_derasn1_get_bit_derasn1_der_decoding2asn1_der_decodingasn1_der_decoding_elementasn1_der_decoding_startEndasn1_expand_any_defined_byasn1_read_valueasn1_create_elementasn1_expand_octet_stringstrcpyasn1_decode_simple_derasn1_decode_simple_berasn1_write_valueasn1_read_value_typeasn1_read_tagasn1_read_node_valueasn1_strerrorasn1_perrorstrncatcallocfputsasn1_array2treeasn1_delete_structure2asn1_delete_elementasn1_print_structurefputcasn1_number_of_elementsasn1_find_structure_from_oidasn1_copy_nodeasn1_dup_nodeasn1_check_versionstrverscmplibc.musl-x86_64.so.1libtasn1.so.6LIBTASN1_0_3LIBTASN1_4_16_0JtC^{$HPX`h=p1)@6%:'  (   -J (0K8@8H3PX`hpx?G<, !p?EUUUUU@PXH=HH9tH&Ht H=H5H)HH?HHHtHHtfD=uGUH=Ht H=bgH=Ot H=@Y]ff.@H=t&UH5NH=OH]8+>"HHuQH1@q@,tB@"t0@'t4@\tHq y\HquHt HHHt%1Hu%B@4H@4 H@uÉHH tk,tTuzLhH 1H1%uSDH 1A@H!%`H HH IH1%5Ã=tGHIHDPH 1HH=v HHt Hw`HtH~pAWAVE1AUATL%ڝUSHH(BdH,%(Hl$HD$HHP=tu D$¾)!ʹ<9OHcHHHH19~#89uttHc‰LHHمu1DrL%wCH HcHAL%"L%EL%lL%L%LE1 C6HcH)LhH7E9~ JcD1IH44LI9{IL9+}KD-L9} HHZH]1A$tA%u4A|$su,D9}'HcThHIHH4HHcHI1HT$dH+%(tQH([]A\A]A^A_AWAVAUATUSHH $HH $HH $Hx 1AE1dH%(H$h:H$ 9H$|$H$9HD$8H\$ Hl$HD$HD$0HD$DeJD8H9HD$H)H]I'@K?'H9HNHkIIHGIHHIGGHHt$HHHt$ HHkHHHkHM,H$9LH9D$t H|$LKD>I\H9Ll$ Lt$AIcH D,AAtLc5AH=GLcA tA-HA #A~A uAA) A'EAFՃv7A.t,AF"HHr!A|D593D5H=ǃ-t H5U-f-1H=AXt *A-u܃-uH/AH=1A*D$8AH=ǃtIH,v ߃[u*-Hs'I@u8$B48I먃.uH5"Dt$(oH$8IcHH $AH=Ƅ81MH $DD$(10 wHPA9~HE1L <A9+HUAH=D1ApH $K4HH $L uH%Nc4D5B4II-uHAH=1AE 115GAu$HyH H55A/ H1B0AAw\McHvBj9uIHfN$hED\|$T$HHH5HVHIcHڪu4^sLcHJ*H|$P)IHcHkHH=HL$PH $HHcHH=gC`HHHD$PgleHH5,gXeHsHgeHD$PHHH`H<$HH 1AH<$HH1AH<$HHʕ1AxH<$HH1AXH<$HH1A8zH<$HHj1AZH<$HHJ1A:HH H<$HH1A H<$HH1AH<$HH۔1AH=g^HsHt$(IHHD$PHt$(LPg`LcH=gB^H(HD$PHgkcLnH|$PLPg`?HHD$P2HpL#H|$PgcLHgc H=Yg]HIHD$PHLPg8` LcH=g]H(HD$PHgbLH|$PLPg_ HHD$P~ H{L#H|$PgbLHgb[ D$PN D$PA D$P4 H=g\HsHt$(IHHD$P!Ht$(LPgU_ pH=>g\HsHt$(IHHD$PHt$(LPg_ HHD$P HCHtHHHD$P HCHtHHHD$Pk H=g(\HIHD$PaHLPg^4 H=g[HD$P H=eg[HD$P H=Ig[HD$P H=-g[HsHHD$P H(HD$P HPHD$P H=gS[HD$Pz $H=g7[HD$P^ %H=gD$PB H=gZHsHt$(IHHD$P/Ht$(LPgc] H=MgZHHt$(IHHD$PHt$(LPg]H|$PHsg_ HHD$P HCHD$P H=gNZHD$Pu  H=g2ZH3HHD$P,N H=g ZHD$P2  H=gYH3HHD$P H=XgYHD$P  H=<gYH3HHD$P H=gYHD$P  H=giYH3HHD$Pc H=gBYHD$Pi  H=g&YH3HHD$P B H=gXHD$P& H=sgXH3HHD$P!H=LgXHD$P! H=0gXH3HHD$P"H= gyXHD$P" H=g]XH3HHD$PWy#H=g6XHD$P]# H=gXH3HHD$P6H=gWHD$P H=ggWH3HHD$PLcH=<gWH(HD$PHg\LH|$PLPg ZHHD$PHpL#H|$Pg]LHg\vH=g3WHD$PZ H=gWH3HHD$P3H=gVHsHHD$P H=XgVHsHHD$P H=0gVHD$PH=gVHIHD$PHLPgX H=gMVHsHt$(IHHD$P}Ht$(LPgXH3H|$PAHHD$P4HHD$P'HHD$PHHD$P HHD$PHHD$PHHD$PHHD$PHHD$PHHD$PHHD$PHHD$PHHD$PHHD$PHHD$P~HHD$PqHHD$PdHHD$PWHHD$PJH=gUHD$P.HHD$P!H3HtNH Ht$PHv`1HL$PH{gqZHsH|$PHHD$PHsHtNHHt$PHv`1HT$PH;g&ZH3H|$PwHCHtHH@HD$PH;HsgYHD$PhHHD$P[HpL#H|$PgYLHgY5H=gSHsHHD$P  H=ZgSH3HHD$P H=3gSHpH3HD$Pg:YHpH|$PH=gfSHsHHD$P_H=g>SH3HHD$P8Z H=gSHpH3HD$PgXHpH|$PH=jgRHsHHD$P H=BgRHD$PL%+ @LgRLHD$PgRH|$PH}HtH`HgWH H}H<$1A'H<$AzA9XH2 H5!HH81{(H SLH5HNH81CH;HpgVHD$P H=(gQHPHD$PHgVHsH|$PL H=gWQHHD$PHgVLH|$PLPgSHsH|$P$FH=gQH(HD$PHg,VH/H|$PHލPgcSHHD$P1HD$PHHD$PHHD$PH{L#Hu Ld$PH|$PMg4VLHgV H=gOPHsHHD$PHH(goU` H=gPHpHD$PHgFU7 H=gOHHD$PHg!UD$PD$PIkHH4$L)H)H_B(HHH/HtH=HH5|HHul1=t H=p=[H=Fg\H=9gYH=,g@Z(uXH=g TH5H=gTu-HH=HEgR1H5H5+H=gR=1HH H CZ[]AWIAVAUATUHH5VSHHH=rHL$1H \H_HuH)1҉1H=-=zH=Ig[H=g[XH=gXX/LHtL`HLL,.~Ht HxIHuPMI)I~ #HH9s J0H9s  H9sL9HHLBD5H58HM HHMuiMM)I HL9s J8I9I9sL9rHLLH5HB;H19s<-u_HL(HH=HHg[HHH=gP1HHt$=wlH[]A\A]A^A_IIH1kMDXIDрuu 1ɅtD܅tDуɀHc9}A DAtUSQn_H6H?9݉HNu9t MZ[]HdL%(LD$IЃw A8e1A8THtHPtH HH|$t@4)HHc҃ƀA4HcADHD$dH+%(tHHtQUH;HSHPHgGHHXH4g=8YHH@~[]\GH(dH %(HL$HHwHt@9E1@|HHHuFHt(FH|$@1Ht2D)HHcD1HD$dH+%(t$H(AWAVIAUATUSH(H4$dH,%(Hl$HI1H<$DeEu EA}HcHH<McL9s J(I9 I9s K.H9s LHLE1E1B+.HBD+"uwIk(H4$HDH'LI}IH|$.BH|$HItQAAE 1AtAu!IvHH'vH4$HDHLl$Hc}1LHcUHc|$:D9!H$HH?Hc}H4$LDl$DmHDm E9 1 HT$dH+%(tgH([]A\A]A^A_AVAUATUSHdH%(HD$1Ht\AxUHLcHT$HIHLHcT$HHH9sIL9 H9s IL9s DDHHAHD$dH+%(tH[]A\A]A^AVAUATUSH dH%(HD$1Htu ;=sHHHHHxt׃xuы0Lt$ 1LIH\$HMHT$H $~D$~DE9$riHcM9IT5sI9rM9s I<6I9s HwLLHcH9s H4 H9rH9s H4 H9rH wɉHH1E$ HT$dH+%(tH []A\A]A^S1H dH%(H\$HӉ HN~HT$H9sH9s HT$HΉD$Hs L$QHT$dH+%(tH [AVAUATUSHdH%(HD$1HAAHA)HIAAtAE1A~HT$HHcHcT$DdHHt.HTIcH9s H4 H9 H9s H4 H9s HHDMcH HcB ! LAEHD$dH+%(t5H[]A\A]A^AWAVAUATUHSHHL$XLD$ dH%(H$1MtA0H$HHu AgXH$HHtHD$XHD$kD E~|$kt AHAD$jE1DT$D$CI H$Dd$Lk`E1D$(HL$0D$1MJAUH4 @r1r  s t|$(H$H$D4L$8I}P 1L$8H$H$ HD$D)L$xJ|$jtCHcD$H$IcHH9s H4H9r H9s HH9s HwH$HDL$Ht$0Hc|$gGHt$0LgF19u5CHu H L$(I}P 1IǸMmht'|$(H$H$DpD$Dd$D$KH%H0?HHu!E1D$,HHMH$HHH$x0$D$)T$Ht`|$y D$ cHcD$H$HcHH9s H<H9H9s H<H9HHT$1D$D$ H CHȍQ" H5hHcHD$D`y|$jt HcD$DDt$A HSPs Hu HtbHcD$Dd$DpAc |$jX DD$HSP:FHʈT6 H{PsHu& H{PHuHt$ HA sXH$$IA H{Ps Hu = HtD$Ht$}$HtHct$HH$RAǸLp D$LcPMKD$Ll$}$HtLcl$IHcKX1|$H$IOIHL$(HHc$L$EA90LHL$(L9s HI9 I9s I H9VHLD$Dd$E)Dd$D$E)|$jHcD$HsPIcHH9s HH9H9\HH9OAtRD$HC`HuD$Dd$AD$\xHt\$Dd$\$AHH@h뼋E1DD$0|$0$D$)D$8|$HD$}HD$(Ht HcHHD$(LK`MAAH%uMIhIyhH$E1E1E1HD$@LL$H M IHE1MLxLL$HHxtIGIŋt$8HD$(IcLL$HLD$@H$HT$~D)HʿADžD$~D$H$t$8IcH $ID$HD$(D)HZ$LL$H$AMIhE4$MM}ME1M>ID$I9GE4$DD$HDD)HcHL$@HH7LcL$HHL$(J MHL$@H9s H4H9 H9s H4 H9HHAH|$(IcD)HHcH9s H< H9 H9s H<H9QHH|$(IcIc4$LʉH)D)HHcH9s H4 H9 H9s H4H9HHDD$@HvID$IWDD$@EE+$H$IT$IGE$E$MMd$M9t ID$1HpE1LM)AA MI]LILcl$8At5D$HC`PHHH@htHgz?HË1ɉD$0L$0$D$)Ȁ{HD$(F>|$3Lt$}HtHcLtHC`HPHH@htHD$8HHxh1H$E1E1T$@HD$`Dd$@D$@LMD$@DL$lHD$HHHD$PHIHrHc|$lt$(II1ILAD$D)I<$~XHL$`HT$E1OADž=$DL$lt$(AD$AHT$`IcD)DL$lLDL$ly A$AD$AHD$8H@hHD$8HD$(A9LHt$HH ~Lcd$(LHL\$PME1MM9t>IcHIcI0HIH9s H< H9 H9s H<H9HEII9s K&H9 L9s IM9L$(LHHRMA A L6E.Lcl$(L$H$LLܻLc$Dd$E)|$jHcD$0LI<L|HLFHc$IM9s II94M9s II9"HLL}H{PHvsXH$$IDd$A)xE|$jt>HcHcD$Hc$HsPHH9s HH9 H9s HH9HDt$EADd$sDt$D9t$sAFE~ |$k%CI HC`HIH@hHuHC`L9xpAGH<  1Lm1LIg;:DL$H$D)LD$LHHD$H $A9|fIcHcLlHHT$HLHc$LD$HM9sIT I9nM9s II9\HRLLA)AMpM EAA AALDt$D$AD$AH9$uAt>Au HC`H4HChH!Hg:Dd$HËD$D$HD$X\$EAA AH$H$dH+%(tȷHD[]A\A]A^A_ÅAVIAUAATIUHSA4$HHt&HзHuH1I IH Hu 7A$DHH9s HH9 H9s HT H9s HH1E,$[]A\A]A^111ɉDExTE1AAt)A9|09~,=v H>DHDH" =wЉx9rH9|HAHAHuHuÊШt L1Ҋ A„ywHA9ABA9~wHc Mu1ÉIAWIAVE1AUE1ATUSH8dH,%(Hl$(HHD$ HD$IcI<~?uA|uAAE~xLD$HL$HT$ItWD$)AxAHT$IcLD$|uAAō[EvD$A)eDm1HT$(dH+%(tH8[]A\A]A^A_AWAVAUAATUSH8HdH,%(Hl$(HEuu H۵;:sL5fHHI|tӍOHMEvuHIEVEDT$DT$ uAtRHL$HT$DHLD$ u`D$DT$ A9tJAH;D$ uHcT$EA)HE~HT$DHHxHcL$HA9~A$1H]HT$(dH+%(tH8[]A\A]A^A_UHSHdH%(H\$>D$uHcD$HT$sH}tHHT$dH+%(tHH[]AWAVAUATUSHhHt$HL$0LD$ DL$ @@r1r  @s@ HD$LHcHT$KDHD$(HD$LD$PHL$(HND$LA)HT$(DHcD$8HD$HD$<t\$LA)Eu, @:l$Kt 1I~P ıH;D$PD$8D$KuHD$H9D$PuȋD$8E1@Eu;AD$Hu H I~P 1Af@l$HD$MvhEHD$HcHL$LDHT$KLD$PHH,D$LA9L$K:L$uHt$H9t$PA|$H T$ 8HL$H9L$P1Al$Hu#HD$01H|$ HD$ 1҉H|$HcHL$LDHT$KLD$PHzu?D$LA9|6%w1 w w"w) H HrtC u<t&LHH-T$K;UuUH;T$P D$KuH|$Pt)Ht$0H|$ tH\$ 1HT$XdH+%(tHh[]A\A]A^A_ÀHuTAUH Lo`MtELHL$DL$LD$T$H4$mHL$tMmhDL$LD$T$H4$G1҉H A]AW1IAVMAUATAUSHHhLD$dL,%(Ll$XD$HD$81D$,1HD$HHD$PMtE1EHuEu H3D; sEIL IytEYD\$#EuHAt^D$HL$$HT$#LL$LD$@"LL$AH;T$@ Hc|$$)MD$tA>HAu |$# /AD$v AA?D$(nH_MtADD$|$ uAtHL$HAPHPDLL$DLD$@AAYAZHHT$4H)MtAHD$HH$L$0Ht$,H|$8HH<$n1;H|$Hu{uMA|5t$HT$(H<$٭HHfD$(t$)Ɖt$RH<$HcH HL$MtADH uAtHL$HRDPT$$Ht$LL$DLD$@Y^HHT$4HT$)T$H)MtAHD$HL$0Ht$,H|$8HH$H<$B1HD$HKD$#A9uuMtHT$(Hx`T$(AAHL$PELD$0HDHHu?L$0HT$PHt$,H|$8uHD$8H\$ID$,1* H$H|$HH|$8H$HT$XdH+%(tgHh[]A\A]A^A_AVE1AUATUSHdH%(HD$1D\$~oMHIHEHT$ƪA$xTHcT$AEA $D9GHt1?H4HcH9sHH9 H9s HH9s Hи  HT$dH+%(tH[]A\A]A^AWAVAUATUSHXHT$dH%(HD$H11HMcIAHE~HEHT$,DLԩD$IŅ HcD$,B(A9|L8tH1E1@0IIAM AЍR@y9T$t HL9sEAh1I'vIGH'v IPIǿHD$2HHD$g+LHHg$HbLHg $LHt$Ig+LHHg#19l$tT$,HcA<I9T$,HHcA4HH 1@x>HzaHD$LHg{#Ht$H|$g+LHHg\#1oD$,L$1pHL$DHD$HdH+%(tbHX[]A\A]A^A_AVE1AUATUSHdH%(HD$1D\$IHHEMHT$yhHcT$LAt )AMxD9>t/Ht*HtH9s H H9 H9s HH9s H1  HT$dH+%(tH[]A\A]A^AWE1AVAUATIUSH(H|$(HT$0L$ LD$dH%(H$1L$L$D$$HHD$MtAH|$ HD$@I@ HD$`\$$H1AE1DT$TDT$XAGHg(HD$hHNjD$Lu'~0HcA<u&A|uH|$` 9r TH`LcH|$hH?GHЩ u3DL$ E1HL$LK44LuH|$hGHH|$`%GH HD$hHxh먋L$$QtXg'HD$hD$L9u?HD$`AHPhHt HT$hA@I@t H|$`tH|$hH|$`H|$`E1HLcHD$`Hx`HtiDL$ HL$LK41HDLޛu)H<$LEHtE;|1HT$dH+%(t˚H[]A\A]A^AW1AVAUATUSHdH%(H$x1HT$(HHH>IHH|$ E1GH< A7HP,H_`HtB{HtH[hgHt+Lh`Mu,H|$ gHgHt Lh`Mu0 HLtMmhA}H uI}Pt$HLdtMmhA}H uI}PtH]`HtCH< pfL|$6H龂IH$H+RHHD$1Ht$LHD$@HL$QI}PL̙LChMA@KtM@hLl$(H|$H1HQyHt$LHȘÅHt$ H|$(gHD$ HT$pXHxPW…HD$ Hct$HL$vLHpPQÅu_HD$ H|$(HphgHt$(H|$ gH|$ ÅuHD$(HD$ 1HD$(L H[hwDHD$ Hx`Ht H|$ AI;$t;HxhHuHgHD$ I;$t HxhHt1H|$ Ht뼻H$xdH+%(tHĈ[]A\A]A^A_AWAVAUATUSHxdH%(H$h11HD$HD$Hu IH>HHtHHHD$HtҀxHuHxPu KH;HUIHtxH uHxPtIl$`L5OHEH< LHH=v H$LHHH=tLHHnHIbIDH=wL|$'HH|HL$LHD$@LHYI}PLÖDHmhHtEKu 2LHH=.HLTHÖH= LHHHIIDH=HHl$HHHLeÅHt$H|$gpHD$HT$ pXHxP…xkHD$Hct$ HL$gHHpPÅuIHD$H|$HphgUHt$H|$gEH|$ÅtH HmhH$hdH+%(tHx[]A\A]A^A_AHjHAVAULcATUHSHHPdL$%(Ld$HMHt[}tGLt$Hھ@LgTHLHgEHLLHgLLHgHgH렀;uIcHLHgHD$HdH+%(tϓHP[]A\A]A^ATUպ SH1HdL$%(Ld$I1Ht$kHH@<HHu $1H@<2Єy@t@u HHuHcҊHcҊ T$yyyȹ )A $9Hu1 HHHHD$dH+%(tH[]A\AVAUATUSH dH%(HD$1Hu H_`IHHtCH%uH[hHg$IHtHtLeMtL9ut IH[hHLLgHtLuLmA<$H\$uHJHg> #I|$11D$?Ht$Hxg[HLg1HT$dH+%(tݑH []A\A]A^AWAVAUATUSHH8L$ dH%(HD$(1HD$HDhHHAs|$ uHu H|$:gD% ua|$ uZHu^HE`PHHH@htHkhH{ht*HH5`DHg>1HAŃ"H[HcHHE1H+#H5dLHOuAsHE`PH lH@hH5@LHXAsHE`PH tH@hH5G0Lcd$ Eƒ0 v-u/׏HHu HL$ HH\ALe`Md$hMA|$HuHL`uڿqHHtI|$PHL$ H>LGHHlH9s J H9 H9s J#H9s HHL1}H|$yH%Dt$ 1EFLA9~tt uHtyyA)HLlDLgHD$PHL``LxH tH@hLxPA0 v-u*_HHtYHL$HL}rgMd$hLd$ MtXA|$HuLLuٿHHuHE!I|$PHL$HWH|$ uHT$A9u-19~@4HHA8tuH9uH|$11g HԎHˎB#9HIL9uAs*HE`xH tH@hHpPHu 11TAT$HCHƒ )1 0 HH utR t ttm{ Z$C 0 C 0 { ZC +  0 HHt[C 0 yC 0 iC +[  0 FHHt H@H4T$ H!Dl$ EuHD$ ADLd$1LHcԌl$HcHHDHLHaT$H|$Hg Le`LHt>HH:u:H\$ Ld$ MtL9tHAHD$L``Leh1HJHmh뫋T$ HHge 8H5DHыu1HEHT$(dH+%(tH8[]A\A]A^A_AWAVAUATIUSHHD)dL4%(Lt$MHPHHHtu H}PMtA"HUHcHA$AH5&BH HEPEItDHu?HE`PH tH@hs,A$AGH5EH8TtA$AH5EHH}PEItHuzHm`HxH tH@hLpPA<9w!H+HsLDHL0HmhH;}HuLHuH}PLDH }$uXHaEH1A$HtLu`Ht LH(I~huHFGXFGHF1HɁHHt9zuHHVمH@>HtHHH51>H81Y%pATUHSHHHHT$$HIHHt$H)I9sHH[]A\%/H9sHH^D+H[]A\ATIUHHSHHT$Ht$L9sHH.;Mt4ID$H9s HTH9 H9s HH9s HHBD%1H[]A\1t HATAUHSXHtHÿHu H/1HUHHEHPDcHH[]A\AUATUSHXdH%(HD$H1HtHHu1Ht&HcwX1ɉL$ Ht1T$ LHLŠuH{PHCxH9t<HH[%.HHtHH@pHtH;PhtHtH97u1HHHuSH_~HHu[USHRHtH;Hk18HH~X[]SH1H dL%(LD$IHy A-HغLcH|$J1A N1HI0A3H vHVtH۹HcɸKHIIF DLHDHD9AHD$dH+%(t|H L[AVAUATUSH dH%(HD$HHHICH<uJsDH{PHt;Lt$Ll$LLg4$LLL|$LHHC`Hu%H9t(HChHuH-HH9tHtHy1HT$dH+%(t|H []A\A]A^AWAVAUATUSHdH%(H$1Hu 6HD$'HHIHD$@HHgE1CHL{`< MAHIWPH0 Ld$gHT$LgYL羁H3gLIWPgLHV{IHHHH9tHt L9uAD$H< IGhHC`HtHXpI`tI>Iw`1gI>LL11H$M|$`D$MAHD$|$gLHI&IwPHt"Ht$H{~Ht$PLLyHt IL IHPH9$u"Hs`L:Lc`MuL$$%I\$pH$LHphH<$LMh*AAuRMuI߸I9t#u+Mt I_hE1Hu%LKHHE1 LE1H9H7CH< Lk`MA}H Ld$gHT$L51LgLLg}IUPHtLgfLHxHPH D$gLx`MtBAHu5IP|$gtLLgIWPLgMhL"yHtPLLTHS`HtHӸH9uH*t-H9tHt HChHuHHøHøH91 H$dH+%(twH[]A\A]A^A_HHtSHHw`tHt)HHHtPHt PHH@hH9uH't*H9tHt HGhHuHǸHǸH9vr1AWAVAUATUSHdH%(H$HBHHL-//CHH{PLd$H꾂LgyL꾂LgLHSPgLHzvHHSPH=nyHtAg&H5.tu _Lc`MHA|$H <Lt$H꾂LL=ygI|$Pt:H=.LgAIT$PLg.IT$PALH53.LtLHuHMA|$HID$PH0 vvLt$H꾂LgH-LgIT$PLgwIT$PAH=xgO@H< YOwHC`Hu"HChHuHXHHtH9u1HH$dH+%(tCtHĘ[]A\A]A^A_HHtQHuKGH<uu€AID‰GHHG`HuHGhHuHH9t HtH1Ht Hw`HtH~pSsHtXH[1HtHGpHtH9x`u1AVAUATIHH5-USHsHŸHZHH=-L5).CtHH=-3tHH=-#tHH=-tHH1H5-LsHL--HLs;tHH5-H1r HLsH{`SHt H{ht@H5z-H1rHSPHtH5e-H1rHH=V-[sHC`HtH_HChHuHgHI9t H@hHt1H HH=- sHr1[]A\A]A^AWAVAUATUSAPHHIIAHk`HtHL{hHI9]t8gLHHMt HLgDHgHtaHHu,HgKHHt LHChHt1Hpp LgMt HLg)DHg11IMZ[]A\A]A^A_AW1AVAUIATIUSH(dH,%(Hl$HHL$HtEM}M"D$I|$Et$3AuA%s$AA DH|$gI4$HHt HgEIt$HtHHt$9qHt$HߍPgmI}uI]|$u)MtI`tH|$Iw`1HL-/|$u(MtIhtH|$Iwh1HLg Ar1Ar4I9]t6HgHHt%@Hs%CH D$D$IIEI<$M9}LgÅI}gRIuH|$g HtJuAHH.*g%HタHNrgHy HgEtH|$g1IE$H|$gHuHtEHD$dH+%(tnH([]A\A]A^A_H11xH1lSHdH%(HD$1nHH$HtPH_hHu-gHHt HA!H$H@hHt1Hpp HHgBHmHT$dH+%(tmH[AWAVAUATUSQHIHIHHLAAtc;t HHgHsPHt SXHgL{`MtAHLHHHsjL9t[LshMt&A~HUHHHgWHLAHAgHHgHL9<E1ZL[]A\A]A^A_AWIAVAAUATUSHxdL,%(Ll$hIlHH-HH5%'HgNIL5%L9^}H2H\$&LEPLLH߾B1kHL]lHBHHIHHgHEhHUpHChHSpHtHXpHE`Ht"HH@hHuHs`gHu`HHHHt Hg!HgpHHt H1HCpEJ tKH EI tKH EI@tKH@EItKHEKtKHEKtKHL9HLD1gAH]`Ht L9u.'LL9tH]hHuHgHøHjsE1ALMuFMeLtCH<teD9HSPD$L$ HH<$H5 1 eL$ H{PH4$H= E1eD9{XHCPH4$B<8IjeH{PHsXD$HT$-dH4$H=N IljD$ eeE;E1D$HKPH4$DAH<eD9|$ uH{PHsXD$HT$cH4$H=IljD$ dEE1D$HSPH5H<$DAH1cD9|$ uHSPHH<$H561crH{PHsXHT$D$ cH4$H=AD$[d|$~3E1D9|$~)D$HSPH5H<$DAH1CcЃCHH4$H=cCItH4$H=cCItH4$H=cCItH4$H=cCItH4$H=cCItH4$H=cCI tH4$H=pcCItH4$H=YcCJtH4$H=xBcCJtH4$H=g+cCJtH4$H=WcCJtH4$H=FbCI@tH4$H=8bCJtH4$H=)bCJ tH4$H=bCJ@tH4$H= bCJtH4$H=bCKtH4$H=sbCKtH4$H=\bCKtH4$H=EbCKtH4$H=.bH4$ aHC`HtA%I9t3HChHuHgHI9tAHHD$dH+%(t`H([]A\A]A^A_SHӺHt,1`HtH@`Ht 8?uH@h1҉[AWAVAUATUSHdH%(H$1HtIHu1|H_`HL=HtCH< u\sVLt$FLl$HLL1I_HLL$@H_uLLt`uHChH[hH$dH+%(t_H[]A\A]A^A_AW1E1AVIAUATI1USH8H|$L|$LdL,%(Ll$(I͉D$LL`à uuHc|$^HHtbE1LHLL_Åu>H|$LU_HD$ HuH`T$H|$ 1H_H_HD$(dH+%(t^H8[]A\A]A^A_P^ZHHtH5)Qr_1HZH ÃZ@0 aÃZ@ÃaÃà   ÃÃÃ0 Ã!]Ãaà ^Ã`Z/ Ã:{à à ÃAÃ016wH~~HÍWw ÍWw PX%s file was not found%s:%u: name too long (more than %u characters)%s:: identifier '%s' not found%s:%u: Error: %s near '%s'syntax errorsyntax error, unexpected %ssyntax error, unexpected %s, expecting %ssyntax error, unexpected %s, expecting %s or %ssyntax error, unexpected %s, expecting %s or %s or %ssyntax error, unexpected %s, expecting %s or %s or %s or %sEnd Of File-%s%s:%u: Oversize value %s:%u: Warning: %s is a built-in ASN.1 type. memory exhausted_asn1_tab.c_asn1_tab::=OPTIONALOCTETBITUNIVERSALPRIVATEOBJECTAPPLICATIONDEFINEDBYEXPLICITTAGSBEGINENDUTCTimeGeneralizedTimeGeneralStringFROMIMPORTSNumericStringIA5StringTeletexStringPrintableStringUniversalStringBMPStringUTF8StringVisibleString"end of file""invalid token""::="NUMSTR_IDENTIFIERASN1_TRUEASN1_FALSETOKEN_NULL'+''-''('')'',''['']''|''{''}''.'$acceptdefinitionspos_numpos_neg_numnum_identifierint_identifierpos_neg_identifierobj_constantobj_constant_listclasstag_typepos_neg_listinteger_defboolean_defsize_def2size_defgeneralstring_defnumericstring_defia5string_defteletexstring_defprintablestring_defuniversalstring_defbmpstring_defutf8string_defvisiblestring_defoctet_string_defbit_elementbit_element_listbit_string_defenumerated_defobject_deftype_assig_righttype_assig_right_tagtype_assig_right_tag_defaulttype_assigtype_assig_listsequence_defset_defchoise_defany_defknown_stringtype_invalidtype_defconstant_deftype_constanttype_constant_listdefinitions_idexplicit_implicit:: value of element 'type:INTEGERtype:BOOLEANtype:SEQUENCEtype:BIT_STRtype:OCT_STRtype:SEQ_OFtype:OBJ_IDtype:SETtype:SET_OFtype:NULLtype:ENUMERATEDtype:GENERALSTRINGtype:NUMERIC_STRtype:IA5_STRtype:TELETEX_STRtype:PRINTABLE_STRtype:UNIVERSAL_STRtype:BMP_STRtype:UTF8_STRtype:VISIBLE_STRtype:UTC_TIMEtype:GENERALIZED_TIME.:: tag error near element '%s.%sROOT?1NEW(null)LIBTASN1 ERROR: %s ASN1_SUCCESSASN1_FILE_NOT_FOUNDASN1_ELEMENT_NOT_FOUNDASN1_IDENTIFIER_NOT_FOUNDASN1_DER_ERRORASN1_VALUE_NOT_FOUNDASN1_GENERIC_ERRORASN1_VALUE_NOT_VALIDASN1_TAG_ERRORASN1_TAG_IMPLICITASN1_ERROR_TYPE_ANYASN1_SYNTAX_ERRORASN1_MEM_ERRORASN1_MEM_ALLOC_ERRORASN1_DER_OVERFLOWASN1_NAME_TOO_LONGASN1_ARRAY_ERRORASN1_ELEMENT_NOT_EMPTYASN1_TIME_ENCODING_ERRORASN1_RECURSIONw#if HAVE_CONFIG_H # include "config.h" #endif #include const asn1_static_node %s[] = { { "%s", NULL, %lu, "%s"}, NULL }, { NULL, 0, NULL } }; :: identifier 'name:%s NULL type:CONSTtype:TAGtype:SIZEtype:DEFAULTtype:IDENTIFIERtype:ANYtype:CHOICEtype:DEFINITIONS value:%s value:TRUE value:FALSE value:0x%02x value(%i): value: attr:UNIVERSAL,PRIVATE,APPLICATION,EXPLICIT,IMPLICIT,TAG,DEFAULT,TRUE,FALSE,LIST,MIN_MAX,OPTION,1_PARAM,SIZE,DEF_BY,GENERALIZED,UTC,SET,NOT_USED,ASSIGNMENT,4.19.0W!XXXX^^__9_Y_y_____`(`H````a>aaaaaaa!bgbtbbbbbooc3c[clc}ccccdgdtddddde$eKegeeeeef0fWfsfffff gjgwggggh0hLhhhhhohii i-i:iGiTiaini{iiiiiiiii0j=jzjjjjjk-kjkkkkl:llllllllllm8mrmmn n,n9nFnnnno o      !"#$-./%&'()*+, <=>>?@@AABBBCCDDEEFFGGHHHIIJJJKKKLLMMMMNOOPPQQRRSSTTUUVVWWXXYYZZ[[\]]^^^_`aaaaaaaaaaaaaaaaaaaaaaabbcccdeefffggghiijjjjjjjjklmmmnnnoopppqq G18;<=>?@ABC9h o54:;l 3:pg:4:k:83329 3 5:3939#$%&'()*+,-120"6&'()*+,-54: ! 1212955:5:6:#$%&'()*+,-0&'()*+,-  99393794337;47;  44;;;44ac&jqbrstuvwxyzb|'(h)}~b*boc c./i01234c567pc89:;<=>?@ABCD, E .+/01234f5^678_a9:;<=>?@ABCD }~`gklmn{b- 㒓 FGԫHIJdeKLMNOPQRSTUVWXYZ[\]!"#$%&tttt~ut6tttttttttttttttttt.Xttt]t:ttttttttttt xwyuvzstK$(aq)*/13579;=?MOPSTUVWXYZ[QRN]b|\`^_-LAFJ02468:<>@cBkhGnD " .%dgjlprmoI&~+feiHE#} ! C '{,) tZtttttt~ttbPitttttttttttttTCktt[tt$ttttttttttttttttttttttt@tt+tttttttttttttttt\tttt@tttCttNtatettt tttt@t%ttthttttttt@ttttt^tttttttttttttttttt34152;6798:  !"#$%&'()*+,-./0)srt=s=sL|L|L|rxs{trxL|L|L|L|r)sL|L|L|L|L|=s=s=s=s=s=s=s=s=sssooӓ---sFs----o-----oooooooooڤ]֨۩CƩ۩jڤ֨֨֨֨֨֨֨֨֨èêIӬ^%"ê\\E[mqOAqqOOOOOOOO]OOOOOA;Pi!ElE;FFFH(ahebdd1e e82fdf|h$iSjLjlk){{<]|P|d}/ l_ QH g 0 ;H I\  I ;4 FH Vd   d  ( ! < \ 4 t n ܮ  X$@.hD|\ڴ 6 @ζb, DX:tS aXmly 4)gC/0?Lkdx,.@8TThb|zRx A}0BDBQMR p`BHtBBBE B(H0A8G`8A0A(B BBBTDBBB B(A0A8G L@L`LuL8C0A(B BBB(\=AAE 3AALD]:BEB B(A0K8GP8A0A(B BBB_\$_6AAA pAA `D (`WFKI eKF`D0H,9aBBE B(A0A8D`8A0A(B BBB<xbBBB A(A0D@0A(A BBB@c/BBB A(A0DP0A(A BBBc|AF0sA<[dBBB A(A0D@0A(A BBBL\euBBB B(A0D8GS8D0A(B BBB<%tJEE F(D0v(A BBBAtuDuBEE E(A0A8Fp8A0A(B BBBH\>v=BBB E(A0A8Dp!8A0A(B BBB$/wlADD0`AAHswZBBB B(A0A8DA8A0A(B BBB(zjHI0IE0HBlHz%BGE B(D0C8IFTB DYA/8A0A(B BBB<t~BEB A(A0D@0A(A BBBH:BBB B(A0A8D8C0A(B BBB<DBEB A(A0D@0A(A BBBX BEB B(D0A8GHYB8D0A(B BBBD X< BBB A(A0D@0A(A BBBHLz+BDB B(A0A8L8C0A(B BBBHYBBB B(A0A8G8C0A(B BBB DB I@BBE A(D0G0A(A BBB,XjBAH I0 CAB<BBB A(A0DP0A(A BBBHBBB B(A0A8Gp8A0A(B BBBH 0BBB B(D0A8GP8A0A(B BBB` g (t \BDA CB ) 0  <0Ai< PhBAD J0k  DABF Z AAB,$ xzBDG D0d AABT  (h  ZBII BAB8 5BBA A(D!(D ABB4 BBA A(B0(D ABB( TGBAA AB<4 oBBB A(A0D@0A(A BBB\t ţ/BBB B(A0A8B@X 8A0A(B BBBE 8D0A(B BBB 6At$ 8AAD oAA ,  @ ĤcFG KDd x  GS$ +AAD bAA AI0D< BBB A(A0DP0A(A BBBH0 FBBB B(A0A8Gx8A0A(B BBB| H &BBB B(A0A8G8A0A(B BBB w_ A[$88íBBB N(A0u(A BBBDtBGB B(A0A8B@8A0A(B BBBHBDB E(D0A8D`m8C0A(B BBB  0AD ADPiBBB B(A0A8A@8D0A(B BBBH0BEH B(A0A8Do8D0A(B BBBHxuBBB B(A0A8D`\8A0A(B BBB0>A|HLþBBB B(A0A8G8A0A(B BBBDSBGE B(F0A8Dp8C0A(B BBBAG,MV( < Pdx   ۿ ѿ* ܿ,޿ 2!L+Qx8?| H,47o]@EKOWguz 82!L +Qx?",7H,47o]@EKOWguzBFJNRVZ^bfjnvAZR$-?Q_q0Ebm}-: GUb o{     +9JX /BWf x (^t dpxo    o`ooo$#@%P &GCC: (Alpine 14.2.0) 14.2.0.shstrtab.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.rela.dyn.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment 0$1o; 8C KoXo``\gq@{   Tdd THH@ppxx P P00   H 0 (ELF>@P@8 @hh ХХХ HHH00$$Std00PtdhzhzhzQtdRtdХХХ0 0  GNU GNU L#hkE?<>QP4aAD !"#%&')*+,-./0123456789:;=% + 'X  +"Bx M'Z. ( ,8 +g 'A &"s * (J $PV ,* +  =,O$ %m_fini_ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize__deregister_frame_info__register_frame_infoseccomp_versionseccomp_api_getseccomp_api_setseccomp_initseccomp_resetseccomp_releaseseccomp_mergeseccomp_arch_resolve_nameseccomp_arch_nativeseccomp_arch_existseccomp_arch_addseccomp_arch_removeseccomp_loadseccomp_attr_getseccomp_attr_setseccomp_syscall_resolve_num_archstrdupseccomp_syscall_resolve_name_archseccomp_syscall_resolve_name_rewrite__stack_chk_failseccomp_syscall_resolve_nameseccomp_syscall_priorityseccomp_rule_add_arrayseccomp_rule_addseccomp_rule_add_exact_arrayseccomp_rule_add_exactseccomp_notify_allocseccomp_notify_freeseccomp_notify_receiveseccomp_notify_respondseccomp_notify_id_validseccomp_notify_fdseccomp_export_pfcseccomp_export_bpf__errno_locationsyscallprctlioctlmallocfputsfprintffdopenfflushfclosememcmpreallocmemmove__assert_failstrcmpstrlenlibc.musl-x86_64.so.1libseccomp.so.2 (08@HP X ` h p2x .ȯЯ:دХC@=<(P??PXH=AH:H9tHfHt H=H5 H)HH?HHHtHHtfD=ُuGUH=Ht H=bgH=t H=_]ff.@H=t&UH5H=w_H]8+y)t} ttW!1HrËeQgZ u gugttg ug uۿgv¸u@g`t*g ug;¸tZÃu1ucHG0HSHcH1g 1g gs1gf1gg 1gZ 1g?1g21g ggg 뒿g[ g g g g Jg gy gi gg gW g9 g) g' 1g g g g g g g g g M1[øS1gALx [jP1[SHHug11Ht$ 1gLxHߋt$ g$OH[@H[`KUHSHAPgKu;HgKu.E9Cu&E 9C uE9CuHHgKY[]Z[]HtQg]`Hu1Z1HHATIUHu HԊH0t$ g `Ņu$t$ LgLuH]A\^H]A\ATUHHu HwH0t$ g^IHt+t$ HgKu!HLgOH]A\H]A\UHSAPu H HgF_u%HgVKuHgOY[]Z[]SHg Ju'H߾ gK1H߅@g [U[H(t$HT$H|$gIuH|$HT$t$gJH(H(Ht$ T$H<$g~IuH<$T$t$ g9KHHUHu HH8|$ g*^u-|$ g\HHtg[aHHt H]%H1]HtOUHHu HH8|$ g]u |$ g&\HHtHH]`H]ÃUSH(dH%(HD$1HufHu H#H8|$ g\]uڋ|$ g[HHtHHgl`D$tHt$Hg`uD$yHT$dH+%(tH([]H1%ATAUSHgGu*{DFDžx&9kt.{8w/HMEDgW[]A\A]A^Z[]A\A]A^øHdH%(H$1wVH$A1HD$HD$I9t<$HAMZMRL\$@LPDH$dH+%(t߃HĸHH|$H4$H|$H4$gpHxSHHtLHt H[%=[PgZIPg Z:H|$ H4$Y|$ H4$g!HHH|$2H|$gDugHHUHSHt$ gKDu*t$ Hg Åy HgEuH[]ATUHSHdL$%(Ld$AgCHHg DžyHD$dH+%(uuH[]A\.H$DHpHQH<$Ig@6Ey.ۅ~ HgDu HD$dH+%(tH[]A\R=~uHHHHHXËnydHSH5WH8gZÅx:Hc1110y"΁8u 1 1[St1,11Hc=ھՀHur8[@=H(|$ dH%(HD$1uQ=y=u,11Hc=wHL$ gHu p1҉f`lj9u= 9uN=y=zu,11Hc=׀HL$ Hu ̀1€]tP1uFy<1u"1HL$Hc=e_HtHT$dH+%(t[H(Áttt@5@5@5Qt^ tt6 tgt~nydRyH6y,czzyGfZÃt. ttÃt't-@5!@5@5@5@5AVE1AUATIUSHdH,%(Hl$L $HgÅeA|$ u=~+E115E111Ҿ&1}Åy=p~AE1=|~~A|$HtE1=H~AH $ƒAD$tu1B tEt BA|$tA|$tHc=}1|Å~NEu(~EA|$tR}*=}~!}1Hʾ1}|H<$g0ty@t |؉HD$dH+%(t\|H[]A\A]A^Ë#}Ã=}UHSHQf}f }t=}fu.1H h}1={H¸yZf=B}tKHuHu+gHHu*=}gHEHt1HtH;4|Z[]Ã=r|~H!PP1+{ZøÃ=J|~H!P1{ZøUSH=|Ht$~EHl$1!@Hzy(s{8t1H!zx1H[]1Ht!SHzHHt 1HHH[HATL%wUHStHL{[]A\Éf1=tiw=tD=tMumHH=D7=tN=t=uLHH=eHH= HH=%zH5H5HH=2H581%yAVAUIATAUSHHHv8HuL5H{DHHL)zA}@UH5u!LgRUH5ي;EtH5׊H1dyE t;wHH=يt@H=t4(u#UH5H1#yHH= HH=y1UH5Hx}(tAt$H1u,HOHuHHtAT$HL})t5DHHH=0yAt$Hu0H6H}Pt/DHHH=xHuPHLAT$aHm@|[]A\A]A^AWAVAUIATUSH8{xx#H5>6xHD$Hux^xHHt$HXxHt$H=FxHt$H8x1t$D$A;E8D$IU01Am L4MfMgHoL H1HtH2~A9|$s HHRHtHuHX HPHAHMd$H뛿g5HL H1HuHu#Md$HMu,H2>A9<$sHHRHuHXHPHAH1AFT$utL$D$9rIHH=H|$1HAH5XvIH|$H5P1>v1ɉL$HH|$tHt$H=vH|$SAuH|$nHtHkHvHD$'Ht$H=ƈH@vAuH|$'Ht$H$vHt$H=vHt$HvH|$YuH|$u1|H=@wlHOw,HHDHHH=@pHxdH=Rw0Hg=(@>HԆ=>@,H? H=HvH=>wbH0=w0H]=H^=HH@=HH=zw0H=fH=THHHޅ=6H*HEx0u HmTD$DxED|$t PT$uNHt HtyHRHtlHH|$DAċT$T$H|$1H5s91҉ƋD$u)H|$At$HHEH|$H5v1rANL}IHD$ AH|$ ƉD$gALH|$DHD$(HT$(EGHuHL$H|$H5&1srH|$DT$H|$1H5.NrIwAT$HuH|$AwH|$HL$H|$ 0D$Hm1ɺD$9Ћ|$!AH8[]A\A]A^A_HHHtHH9r0tH@Htxu @H1HHH>Ht_D@HH(DIHtE9sE9s(Hy HH(Hx H;u HA HHteDHH(D Ht'E9sHy HH(Hx H;uHA HH@HuE9sHG(HH(HA H E1L@(HH HA(H1H1HHH HHy(볿`QgHt@&H@H@ZAWAVAUATUSH8H<$dH%(H\$(H{$"IA׿g9HŸHsH;Hk8g#H{HD$g#H{HD$g#H|$HD$ g#1C$AHS(Lc0H]D}H $LL,MMEM9`0CAPHk8Hk8H9H3I8LD$noupLD$HCI9@uaHCI9@uWHoIUHHH@8HuH^8Et C%1C 9B sB H;oIEHC&HILH H9u1C$HHC0No<H ILc0IEHtIImxH $H,kHT$(dH+%(tEnH8[]A\A]A^A_HtSHHHtnH[%nIH1AJ1HT$dH+%(tjH[AVIHAAUATUSHH@dH,%(Hl$8LH9tmH9h0tH@@xSHKHM L(Ax A}uf9IHD)AHAH9AEuHubAwD_HHAwH9tdL`0MtIx0I9tw ApM@HwI9t3Au(LHtL`0HX@HSHHPHHB@HCHD)HʉHAH9AEtw ~HvHH:w%1H9HA0wH9tQHIHHuw1H9t`1HHI y uW1Lf$Hl$(D$0D$D$.HHh0HD$8dH+%(thH@[]A\A]A^UHSHAP~uY[]HtKSH3BH~8CHk8hHH9s HP8H9 H9s HU8H9s HǹHHZ[]AWAVIAUATUHSHxHt$(dL,%(Ll$hMDD$I Huv-IHH IHR8Hu1E1H\$7HHED$E1A(DkL\$CtAw,H^HH@0HD$E1A)LT$ tAw0H1HH@0HD$ AGD$AG|$D$L$9L$uDЅD$HT$01HH  x u Wt$fL$0E1D$8E1D$Hx HHLD$\DL$dD$XD$`HHu1H@AD9l$tvHT$01HH Tx uTWt$fL$0D$8D$Hx 11Ht$\Hމ|$dHD$XD$`yHHpD$CD$CAG tDwttbbYHT$01H׺H x uYRHT$01H׺%H x u/%(HT$01H׺5H x u5WAwfT$01D$81D$Hx HT$\D$XIGHL$dD$`Ht HD$8%A(tHD$HD$8 WD$8D$@IGPHt HD$H%A)tHD$ HD$H WD$HHHT$0HD$PHHLx(MuIHH HD$HCPHXXM@MtD$Dl$H\$D$LHHRX1ɋ~9s`Hk8Hxu$xHu A@ HP@x u$xHu A@ HP@ HHu1D$t\$0>@D؉\$0D$4HHcD$4E1L\$@HL\$ HD$XHD$HD$8D$@A;D$8 \$@9\$4u!\$49\$0~HcD$0IT$0H)|$0.\$@9\$0u,\$09\$4~ID$0H\$XHHD$ |$4# E1LT$ ID$0H\$@E1H$Al$ L$HL$HHxL$ L$ H$ H$L$ H|$ tHD$ HxL$E1H$h LDD$Ht {0ty ztuD$H[ ۃ|$L$9s\$MAN4)LD$gHH J HL$(HgIHqJ3HL$(I9s IH9rLHL81AHH9r1E11ۉ|$E11 1E1t$H$ %=>@H|$ !Ѓ1!ЉL$(D$gL$`MA}0AEyH$h zH$x tL$`t$Iƍ1tH$ IHtLr0L9$H$DŽ$"T$gT$H1҉$H$IH|$HH$1HH$ z u f$1WLH$H$1H$h$DŽ$$$H$IHuE11L$ sIH@LIH IAIAIUH$hLH$LL$PH|$HH|$HLL$PHHuLE1L$ H$1HH$ x uHR0AuE1E1L$L$hH$H$DŽ$DŽ$x f$LLL$D$$DŽ$H$H2AUH$LP H$tLH$ HH$ H$ E1LN@HVHHtHr@H$ H$ HH$ H@HHtH$ D$(D$`D$`L$E1AUL$A<ED$HL$HDȅDHcD$HE1AHV0HH$HD$PD9t$HC4JHH|$P1H$ %x u%E1f$E11D$D$ x 6L$$H$$DŽ$HuH$ H@0Ht$PH$E1H$hH$ D$(H$H$DŽ$DŽ$7uPIH$HtH@0McJL$H|$HMm 21Ht E1ɸDL$(D$HXD$Mu tD$LoXD$H$H$ H ~ u 1E1Wf$H$H$ H$hD$E1H$H$DŽ$$$<H$D$(H H@HXH$ %=>@H|$ H$1H z u 1H$W1ɉ$H1H$hH$f$DŽ$$$H$ IHjH I@H$ =>:1H5z u5Wf$@$$z u@$E11H$ L$$DŽ$HtH@0H$x H$LH$hH$DŽ$HH$ IH~1HH$ z uf$E1H$p D$H$DŽ$H$HDŽ$=>@1H5z u5f$WH$p DŽ$H$@$z u@1E1퉄$H$D$DŽ$H$ HtH@0H$x H$hH$ D$(H$ H$H$DŽ$#H$1H׺H$ x u\$(WE1E1ҋpL$E1ۉ$1D$ DŽ$$x f$L$$H$ $DŽ$HtH@0H$x H$ H$hE1H$H$ H$DŽ$ H$ u#E1L$ HsH\$8HX@HCHA1H$ H$hH$ HAHFHHH$ H$ HD$8H@HHuHD$@eHD$H\$81HX@HpHHH\$HXHH$ H$ HD$1ɋx9H\$Hk8Hxu9pHSHHttHRHHu D$HR0@HPx u1H\$pHSHHtͅtHRHHtHR0@ HPHnHD$H@HHD$Ht HxHFL|$E1AGE1L$hXLcMk8MILyty u,HqLIHu=HqLIHu'y0uHq(H$hqIHuE1aAx9I@I9G+AxH$1HH$ Tz uTWAp1f$$$z HLLL$$$DŽ$IH<1H H$ x u WApf$1$$x s$LHLL$$DŽ$YIHH@IGHMx@I@HMGHI@HHtL@@I8MtL|$IGHHD$HuL|$M@MHl$EE1XLcMk8LuMAFt8tt/D$zMFHt$HH$hdxAAF t-tu"MFHt$HH$h.xAI8oEuHm@HMH$L$ E1ɋKDAAHLʃzuAHzHCHDH:H;x0t pH@HWB@rBz uAHzHCHDHH;x0t pH@HWB@rB z0uAHz(HD$Hp0H@@H9uDH9t pH@@Az W0B(B(B0AI8H$ DeH}DfuHMHHHEDC1D9sUAH4Hk8H8f>xt uv@x1@~x t u^@x1@~Hƒx0uI@(FHkHH$hHH$lH9H$ HL$hH1H$ \D$D$fEH}^MH$H$hHt%Hs0LcHHvHLD$H$hL$h H+HtHEH}HyHLHI9uH$ H$ dH+%(tLD$Hĸ []A\A]A^A_HH1HDHMcL Hct$AiQ-Hi51 dkTJHHtHt Hu.1x1H11iQ-i5111ik녉 1i5‰11w!H_HcHøø1HHuHPHHtGX1HtYUSQHH8Hu{(t9k,u4{)t9k0u)H{HuH{PuH[@HuZ[]AUATUSH8dH,%(Hl$(H/Hu1EXX]XuHUHHE8ILm@HT$HUPHD$Ll$HT$ Ht1HH@Mt1IU8HtH|$MtHu H|$fHL$HT$HtWHHA@HtHHB8HtHI$H|$LH|$ A?B\+HAHJB#HuHT$(dH+%(tuIH8[]A\A]ATUSHdH,%(Hl$HHUHtaH1HH@8Ht@@HE1HHz8HR@H;FXr#HuH $1IH<$tLT1HD$dH+%(tHH[]A\AUATUSHdH%(H\$HHH1H$IIHHHR8HttH $HI9tGH{HLH{PLH*t {(u{)tH[@H$HtQtK1I9]uHC8HuHC@IEHC8HtHS@HP@HS@HtHB81HHC8HC@=HD$dH+%(tGH[]A\A]HtgUSHVHkHtHEH}HCH.HH{1ɉKHt*H1HHHCGH{HuX[]UH HgdHtH(HHD$kHD$H]HtHH|$MH|$H%GHtHt6HE0u81ҍ 2;S8sH{0AJ;Lc@Mt(ID$E1HC@I<$E;l$sDAHg |$|D<$DD$1IFA*I>Lg yD9sHH@Hu uPсD9sVD PHHt$8DD$g輵H¸Ht8DD$Ht$DzB0DHtHFHBHV1IFHBIVuuAĉHD$dH+%(t0H([]A\A]A^A_AWAVAUATUHSHHG@Htx t @ gHHt}8HgHHuHZ0M81҉K9s 1H4H1E1HCD;u8sdHE0EN@H!1H$Á>wFw"1H#1H&Át~wt|1uyH$1ugHI#H'Hy%H1&H%HA'H"H1!Hi HA"Hy'H!Hi!eHSH5C;H)H5/;H)H5;H)H5 ;H)H5:H)H5:H)H5:Hh)H5:HP)uH5:H8)fH5:H )WH5:H)HH5:H(9H5:H(*H5d:H(H5j:H( H5D:H(H52:Hx(H5,:H`(H5:HH(H5:H0(1H"H>HHH:H|HE#sH"jH3 aHXH OHx FH!=H&!4H]#+H$"H#Hb$H$H![H?, i,HHQP x @ZHx`0++!,HH` H`0+++{+++Z+++ 9+QxZþ P+~ k+HHQP xZH~`0$*$*$+(*QHxpZþ(*o~p(*,d*,*,*0C*0k*0*4"*4J*4u*8*8)*8T*<)<*<3*@)@)@*D)D)D)HQ8}# |XwMH 7HcHVxw5wH@ H=16wH 7HcHH=v5Ѓ.0H=c5H=_5H=^5H=\5H=Z5H=]5H=`5H=b5H=^5H=Z5H=X5H=X5H=X5uH=W5iH=V5]H=R5QH=N5EH=J59H=P5aH=M5XH=K5OH=I5FH=K5=H=I54H=G5+H=E5"H=C5H=@5H==5H=;5P uZSHHÃHH54H!¸H53H ¸H53H ¸rH53H ¸SH53H ¸4H53H} ¸H53H^ ¸H5t3H? ¸H5`3H ¸H5F3H ¸H5,3H¸zH53H¸[H52H¸<H52H¸H52Hf¸H52HG¸H52H(¸H52H ¸H5{2H¸H5e2H¸cH5O2H¸7DH562H¸6%H52Hn¸5H52HO¸4H51H0¸-H51H¸,H51H¸+H51H¸*toH51H¸#tTH51H¸"t9H5l1H¸!tH5X1Hg¸ t[UHSHH5:0APH=H5'0H%H50H H50HH5/HH5/HH5/HH5/HH5/H}H5/HevH5/HMhH5/H5ZH5w/HLH5h/H>H5[/H-H5N/HH5>/H H5./HH5/HH5/HuH5/H]H5.HEH5.H-H5.HH5.HH5.HrH5.HaH5.HPH5{.H?H5i.H.H5W.HmH5F.HU HE HY[]ป|ung`YR7K6D5=46-/,(+!*#" ! Z[]H8}3 6'H .HcHH,ÍFxwHs,H.HcHH+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+H+b0H*Hq+ËPxwG1ÍwGyAWAVAUIATUSHHnExw1HP0IHH5[*H`tH5N*LLtH5?*L8tH53*L$tH5&*LtH5*LiH5 *LQH5*L9H5)L!H5)L H5)LH5)LlH5)LTH5)L<H5)L$H5)L yH5u)LaH5e)LIH5U)L1H5F)Lu {u;H H=t9|(t卅1|({$I}~H0AAǃu+FAƃtE1et5AHgDIHu11HDHHIEd@HCCH"HCIEP0IH"H5.(H H5(LsH5 (L[H5'LCH5'L+H5'LH5'LzH5'LbH5'LJH5'L2H5'LH5t'LH H=I}~H0AAǃu( WAƃE1tvt3AHgUIH H1DI$LIE@HCCH"HCؙC(HHcHS L1HtDsHuHLgJ1HtCLgx6Ht1ׅxHHL[]A\A]A^A_{NMtD$ LD$ H[]A\A]A^A_HFS1HFH =wL,(IcLGAGAGAGAGAGDAGD1t7D AAA qAD=: =ewUw v/ =JH'HcHHxAH<HcHH?= =w[=w'==H=s==H==w'==H==H==a}wJ=7yw$=,u=2sHg= a=EcH=TH=Sw$=O=MH=h=!=Hd=:2OH->!Hi>H> H>H?H?H%@Ha@H@H@HAHQAHAHAHByHABmH}BaHBUHBIH1C=HmC1HC%HCH!D H]DHDHDHEHMEHEHEHFH=FHyFHFHF}H-GqHiGeHGYHGMHHAHYH5HH)HHH IHIIHIHIHIH9JHuJHJHJH)KHeKHKHKHLuHULiHL]HLQH MEHEM9HM-HM!HMH5N HqNHNHNH%OHaOHOHOHPHQPHPHPHQyHAQmH}QaHQUHQIH1R=HmR1HR%HRH!S H]SHSHSHTHMTHTHTHUH=UHyUHUHU}H-VqHiVeHVYHVMHWAHYW5HW)HWH XHIXHXHXHXH9YHuYHYHYH)ZHeZHZHZH[uHU[iH[]H[QH \EHE\9H\-H\!H\H5] Hq]H]H]H%^Ha^H^H^H_HQ_H_H_H`yHA`mH}`aH`UH`IH1a=Hma1Ha%HaH!b H]bHbHbHcHMcHcHcHdH=dHydHdHd}H-eqHieeHeYHeMHfAHYf5Hf)HfH gHIgHg Hg Hg H9h Huh Hh Hh H)i Hei Hi Hi Hju HUji Hj] HjQ H kE HEk9 Hk- Hk! Hk H5l Hql Hl Hl H%m Ham Hm Hm Hn HQn Hn Hn Hoy HAom H}oa HoU HoI H1p= Hmp1 Hp% Hp H!q H]q Hq Hq Hr HMr Hr Hr Hs H=s Hys Hs Hs} H-tq Hite HtY HtM HuA HYu5 Hu) Hu H v HIv Hv Hv Hv H9w Huw Hw Hw H)x Hex Hx Hx Hyu HUyi Hy] HyQ H zE HEz9 Hz- Hz! Hz H5{ Hq{ H{ H{ H%| Ha| H| H| H} HQ} H} H} H~y HA~m H}~a H~U H~I H1= Hm1 H% H H! H] HHՀHHMHHŁHH=HyHH}H-qHieHYHMHAHY5H)HфH HIHHHH9HuHHH)HeHH݇HuHUiH]H͈QH EHE9H-H!HH5 HqHHH%HaHHًHHQHHɌHyHAmH}aHUHIH1=Hm1H%HH! H]HHՏHHMHHŐHH=HyHH}H-qHieHYHMHAHY5H)HѓH HIHHHH9HuHHH)HeHHݖHuHUiH]H͗QH EHE9H-H!HH5 HqHHH%HaHHٚHHQHHɛHyHAmH}aHUHIH1=Hm1H%HH! H]HH՞HHMHHşHH=HyHH}H-qHieHYHMHAHY5H)HѢH HIHHHH9HuHHH)HeHHݥHuHUiH]HͦQH EHE9H-H!HH5 HqHHH%HA*H(H9H5H HmHHu|HsHjHzaHXH@OHFHޭ=HE4H+H "HHHXH߯Hc3HmHD8uHHit1H[SHcHH|$sH|$HHtH[HcH'1H;>uHkHHcHHHH=u11H&HH19zu)HkHHcHH Hc0HʉH HH=uHPXJbVbbbPccseccomp action KILL_PROCESS; action KILL; action TRAP; action ERRNO(%u); action TRACE(%u); action LOG; action ALLOW; action 0x%x; if ($a%d.hi32$a%d.lo32$a%d >= > & 0x%.8x == ??? else x86x86_64x32armaarch64loongarch64mipsmipselmips64mipsel64mips64n32mipsel64n32pariscparisc64ppc64ppc64leppcs390xs390riscv64UNKNOWNa# # pseudo filter code start # filter for arch %s (%u) if ($arch == %u) if ($syscall > %u) else # ($syscall <= %u) # filter for syscall "%s" (%u) [priority: %d] if ($syscall == %u) # default action # invalid architecture action # pseudo filter code end db.cdb != NULLsocketbindconnectlistenacceptgetsocknamegetpeernamesocketpairsendrecvsendtorecvfromshutdownsetsockoptgetsockoptsendmsgrecvmsgaccept4recvmmsgsendmmsgsemopsemgetsemctlsemtimedopmsgsndmsgrcvmsggetmsgctlshmatshmdtshmgetshmctlCCCU@KWWKQQK #(-2I|ݮ)6kk[AA[B1 1db_rule_addxovmd[Awog_WOGwog_:WXSSSSi@SSSSSLXSSSdpS|SSSSSSSS $0S  c8[$$D=JSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS;VMM2  %%M44]!::NN  955555555555555pppppp+dd++bb++++++#???#WRRR*}BppBBnnBBBBBB1||zz8pZ44w  X/4HH^^ SS>o2ll22jj22222Fd{{yyOsGrrGGppGGGGGXFQQ22OO2_>==guwwuuqxxvv{`vJJvRRvHHvvvvRvvar.(--UUrr%YYYYYYnnnlllQ_::|]59NNccYYI`;;}^6:OOddZZEaVVC3377V@@FbWWB4488WAASwwwMxxxuuuuuuB^UUA2222U??"**HH*****H**'kkk4,,,,9bq,,"++RROOqq@FSRvvvbJyyyq`Y3v  W.3II]] ffzd??b:>TThh^^@ ~~)j**))HHjj(((HH'999!::  ";;  -jjj)XXXXXXXXXeeeee^((GG''zzG4OHH-H--%x88xx77xxxxxx g))((FFgg!!]]!!!!!]!!%~~[[||kk[,ooo9IZnnnn_Nu{KKKKKKKKKLaa<>" GGG'Ub==`8<RRff\\/h.jj..hh.....6s/hh//ff/////=EE-CCDGG0EEKwDDf>BWWmmddVG^[[^44^YY^^^^4^^]mmmnL~~~>2I##eF!77;;GG1WWWDD/BBE**************``))CC)D++++++++++++++aa@nn@@ll@@@@@@&'B88 8   bbbbV$iigg+ffdd2%%\\\%%\8qqq=ZZ[[XX[CK}}}ZA]CC=..11C<<cZ ;Z ZZZZZZh?3  N00,**0,,r=X4 ''--66}; }}JJJTTT88889C_UU?0033U>>==33=====3==|AooAQQAmmAAAAQAA/  J%%(&&%((jjBBjjjBjj4cc++ccccc+cc ___}}ZZ{{jjZ&1 5PII. I..7$$QQ$$$$$Q$$<E00000000LSX22u  V-2GG\\ RRZCD`//@1155/::d:  qh55 4488MMhh|q1kk11ii11111fzzxxyFqqFFooFFFFFH2  M55+))5++lJJJJJJJJJwuussvvtt?&.) ))))))))4PzzzH{{{ T|||,cyyyyyyyyy:3D3KvWcggggttgeeggggtggj7(TT(DD(RR((((D((pc>>a9=SSgg]]zKKKq ~KK""mEIaa"  T99TT88T(%>>%%<<%%%%%%8888888888888889TLL0 ##L22999999999999999$$$$$$$$$$$$$$$33YY33333Y33mh&&hggh$$hhhhghhwi$$iffi##iiiifiiO#O% rrr#ppp qqq+ffffff6@@&&cc~~&}}FMQ^99{\38MMaaXXZ<i:TT1 $$T33yR MbbMM``MMMMMMMM$$pHL^^$~~; ; 99 ~n6&55SSnnm7'66TTmm$[48444 VV NN TT N zp443355LLpp>>>> == PP=99(AAAlOOMMnn M7HH77FF777777 7  ```(Y/>GTf5555kvet9666666666FF.DD=<<]]::].t/)..VVtt]88z[27LLbbWWo IIIIIIIII * OG |II  kCG__ U ***` )D!!"  !""h <WKK3 &&K55q | U//rS*/EEYYOO BO)kL#'==BBJJ =  DR,,oP',BBCCLL  A  44444444444444 X ,Q+mO&*??WWee  PP 11 NN 1 b]MM]..]KK]]]].]] raaaaaaaaa" `````````. 5> F S [ [llPlllPlla i1100GGiif ::::m HHHHHHHx    _ [hh7,,  h ^dd,,ddddd,dd ##ee""e +UUYYSSY [6xY05JJ__TT \7yZ16KK``UU       C##############zz +s-$,,{{QQss <fB!d<@VVjjbb    1&RR&EE&PP&&&&E&& eAAc;?UUii__" nn1 @< 6Qaa/   a//D jQttQQrrQQQQQN uPssPPqqPPPPPX c wwk ?   q z??zz==;;zzzzw F,,,,,,,,,,,,,,VV e uuccu   n==4+= kkMMkTTkkMkk o3322,,KKoo G""""""""""""""|| sssssssss P**lM$(>>??KK   % !!!!!!!!!!!66!!!2 ,@ 0L wwwwwwwV ~~~~~~~~~b Wl P v mmm 6 k>55Y8((..77 >>> x 'SS'LL'QQ''''L'' SII GG  *#bbPP  '1  LNN*((N** e }JJ!!lDH``! OOOOOOOOO N``NN^^NNNNNN$ LL##nFJ]]#{{* \\ZZZZZ0 dbbb6 k2211 IIkk= ddH 2.I&'%%''Q X [ [[ [[[[[[_ 1e       r /   K%%g;;H#99==;EE  /?!!?XX? ????X??  @@@ @\XX<--00X;;  7VVV 448Ug*z5>\\\J(C""!"!!RnA`y@   nj+FSS$""S$$xL*E66#!!6##xL&&hI $::>>DD#<PP  P::qqES--pQ(-CCDDMM22222222222222{{{{p5?Z9))//88vCCe=AXXllcc- -- ------J_]]_77_[[____7_\>>??>>>>>?>>0J$$fG"88<<FF! .iii:;;;F$V fs&UYYUFFUWWUUUUFUU|oo::ooooo:ooW11t  U,1DD[[ QQ46  tccttaattttttYY|||||||||___V  !  ss s<__<<]]<<<<<<^^OO\\OOKKSSIIS'>^^^2CCCCCCC<ZC0  K$$)''$))MkYve owWWWWWWWWW~ U:H""dE 66::CCc"-it%>0f=33333333333333EIO66666666666666[dmEEEEEEvDDDDDD!<<< l  nN%)@@XXllM'iEEJ!%;;@@EHHxEEg?CYYzzvvgSXXSAASVVSSSSASS$=rG!!cJJD5599JBB6eeV00s  T+0FFZZ PP  **  #4BBB;|7Rcc5 !!,,c00K8Sdd6 ""++d11[ c tN|11111111111kk111"u00%//uuRRuuN(jFFK"&<<AAFIIhT..qR).AAEENN5  -H##&$$#&&i3a<<~_7;QQee[[44''44444'44777777777777777VVVVVVVVV%\pp-_  ++  7AABNKWCCllC_11111111111111t|zG"iAE[[||xx WW @@ UU @ ],G%#%:::::::::::::::r==rr;;rrrrrrDDmmD{H#jBF\\}}yyteesendtimertasidletimesreadselectsetsidgetsidsetnsgetegidsetfsgidsetregidfchdirtimerfdsetresgidgetresgidfsyncsendmsgreaddirtimer_settimetimer_gettimesched_setattrsched_getattrtimerfd_settimetimerfd_gettimesched_setschedulersched_getscheduleripctimerfd_createpipetimer_createprofsendtomsyncmemfd_secretsched_setparamsched_getparamsendmmsgmemfd_creatert_sigtimedwaitconnectmountmincorecloseioprio_setioprio_getdelete_modulepidfd_getfdrebootiopermsendfilepselect6clonesocketaccessmount_setattrcapsettimer_deleteprocess_madviseprocess_mreleaseioplsched_rr_get_intervalsetrlimitgetrlimitrseqopen_treenicecopy_file_rangestimeftimegetpidsetpgidgetpgidsemctlpausemprotectsemoptruncategetdentsshmdt_sysctlacceptgetpmsgsemgetpollseccompsetgidgetgidmsgsndmsgctlmembarrierfchmodtimer_getoverrunsched_get_priority_minrt_sigreturnepoll_create1epoll_createmsggets390_pci_mmio_writepivot_roots390_pci_mmio_readgetppidmigrate_pagesopenatoldstatprofilfsconfigoldfstatsetuidgetuidalarmvm86chmodsched_get_priority_maxsignalfdmmapfaccessatmove_pagesrt_sigpendingcachestatopenoldlstatmpxeventfdchrootgetpgrplinkatstatepoll_ctl_oldpciconfig_writepciconfig_iobasepciconfig_readstatfssttygttysysfscapgetarch_prctlppollsynccachectlsignalgettidsyncfsfallocatert_sigactionsocketpairgeteuidsetfsuidsetreuidfchmodatsethostnamesetresuidgetresuidpidfd_send_signalpidfd_openrt_sigsuspendclone3dupshmctlsched_setaffinitysched_getaffinitysched_yieldsetdomainnameepoll_ctlshmgetsetresgid32getresgid32syslogrmdirgetrandommknodvm86oldpkey_freemq_getsetattrforkclose_rangekillusr26spliceset_tlsget_tlsio_destroyacctsetitimergetitimernewfstatatclock_getresclock_settimeclock_gettimesocketcallkexec_file_loadmremapfinit_modulert_sigprocmasksync_file_rangeflistxattrgetrusageio_pgeteventsexecvesetsockoptgetsockoptreadaheadsemtimedoplinkgetpeernameutimesetxattrgetxattrutimesreadvgetcwdfcntlkeyctlset_tid_addressfsopenio_uring_enterio_setupio_geteventsio_uring_registerlock_newselectsetfsgid32setregid32vservertkilltimer_settime64timer_gettime64timerfd_settime64timerfd_gettime64ioctlmsgrcvexitrecvmsgkcmpset_mempolicy_home_nodesigpendingio_cancelsched_rr_get_interval_time64pkey_mprotectnfsservctlmknodatvmsplicellistxattrname_to_handle_atrt_tgsigqueueinfort_sigqueueinfofanotify_initio_uring_setuprt_sigtimedwait_time64prctlspu_createfsmountrecvmmsgchdirftruncatesetprioritygetpriorityrestart_syscallsysmipsmq_timedsendputpmsgfstatbindulimitsigsuspendmq_timedreceivesendfile64kexec_loadfstatfsnanosleepcreatprocess_vm_readvprocess_vm_writevpselect6_time64s390_guarded_storagerecvfromexecveattgkillrenamebpflookup_dcookiefaccessat2unsharesetgroupsgetgroupsmove_mountmadvisembindunames390_runtime_instrptracetruncate64mq_opengetdents64lstatgetsocknames390_sthyiswapoffperf_event_openlandlock_add_rulelandlock_restrict_selflandlock_create_rulesetsubpage_protcreate_moduleremovexattrsigreturnsigprocmaskfsetxattrfgetxattroldunameriscv_flush_icachegetcpulseeksetresuid32getresuid32mkdirflocktuxcallrecvsyscall_llseekreadlinkatfutex_requeuepkey_allocmlocksettimeofdaygettimeofdaystatxchownfutexlistencacheflushrenameatumountmunmapshmatppoll_time64remap_file_pagespipe2lsetxattrlgetxattrdup2listxattrugetrlimitwriteutimensatset_thread_areaget_thread_areaepoll_waitsync_file_range2epoll_wait_oldfremovexattrsetfsuid32setreuid32mlockallpersonalitymkdiratset_mempolicyget_mempolicyfutimesatfchownatget_kernel_symsinotify_init1inotify_initvforkfanotify_markswapcontextmodify_ldtgetegid32epoll_pwaituserfaultfdbrkfchownsemtimedop_time64ustatdup3query_moduleinit_moduleoldoldunameclock_settime64clock_gettime64lremovexattrreadlinkclock_getres_time64vhangupclock_adjtimerequest_keysysinfommap2adjtimexwaitidsecurityio_pgetevents_time64mq_notifyclock_nanosleepumaskopenat2lchownfdatasyncexit_groupsigactionfspicksymlinkatsetgroups32getgroups32io_submitwaitpidswaponarm_sync_file_rangeeventfd2afs_syscallftruncate64quotactl_fdrecvmmsg_time64mq_timedsend_time64munlockallmunlocksetgid32getgid32mq_timedreceive_time64inotify_rm_watchfutex_time64spu_runfchmodat2multiplexersetuid32getuid32ssetmasksgetmaskquotactlsigaltstackaccept4preadvmlock2futex_waitsymlinkinotify_add_watchmap_shadow_stackgeteuid32signalfd4epoll_pwait2stat64open_by_handle_atstatfs64utimensat_time64writevset_robust_listget_robust_listbdflusharm_fadvise64_64fcntl64switch_endianclock_nanosleep_time64shutdownclock_adjtime64pwritevfutex_waitvprlimit64chown32add_keyunlinkatfutex_wakerenameat2umount2usr32mq_unlinkuselibfstat64fstatfs64fadvise64fadvise64_64fchown32pread64sys_debug_setcontextlstat64preadv2unlinklchown32fstatat64breakpointbreakwait4pwrite64pwritev2; ݦ4L`tç(x~֪8Pd\ɫ#_ @`?:E, ) į n  5, UL dd s| ձ $ L8 T p  ĵ | ж $ 8 cd |  D m \  ; Y z Hd xNWZ 4Ah7cd(<PdLv!48d9<L8XOHs\p @ hz0|[ `0 t?  "`b0 Lx$8(L3`<tDOZep{0H\t*5@,TD_Xql|(@Th !,7BMX(c@ \xr##@;\<|S<zRx 00OHN\NpB3BT'AU#AX F C$XPAD x CE IA0rXADE | ACE AFA4FRL 0`]BDD0| CBE DFB0mBAG0E ADE PAB0ZADD x ACE MAA<Am G F7ED0p G I<\AD l G I(\}ZAF D AF DC(XFG t DF DDA$פAAD@AAR 4IJBDC m ADE AFBT([KEE D(C0^ (A BBBE F(A BBBAGTKEE D(C0g (A BBBE M(A BBBAnG,D a( AW F AHAG`AGx*D _8D c G I$OADI0|CA@@BAD D0G  AABE r CABЧTAR4 oR[AP_>A|l xD0:AT@BEB D(A0D@0C(A BBB g(4ZSDD AAA`(RIx(RI(eAFD0WAAP,H_A(\)BHD WABY8BBE D(A0(A BBBHXX`BBB G(A0A8DpB8A0A(B BBBlw!'F`H BBB B(A0A8Dp8A0A(B BBBDZ#FV`a@tAAz 8KED A(D0(D ABB$UAAG0IAA$ F~ADG0lDA00 iBJJ0~ ABE DFBd ѹDP| KdAD ]A@ ,BKB A(A0Gp 0C(A BBB0 wqADE G AAE VAAH BBE B(A0D8D8D0A(B BBBH` mCBBB B(A0D8DP$8D0A(B BBBH dBBB B(A0A8G8A0A(B BBB  $ r+8 L (` aHCA QAAA8 *BBA A(D`(A ABB, BAA D0 CAB8 BBA A(D@(C ABB(4 mFAD ^AAA` 53AL dA H#I S( SBFAD kDA$ iiADD ]AA b 80 EBDD D02 AABHH -BBB B(A0A8Dp8C0A(B BBB WAU( ![FAD DDA P $ \CAAC {AA(wRFE AAAD$XSlNCD ~(yLJD AAA(L}BDA rAB4BBA F(B0(C ABB$m7AHA jAA$<|FBGD0uAB,dQDA ABAHBBB B(A0A8D8D0A(B BBBHbBEB B(D0D8F`<8C0A(B BBBH,#BBB B(A0D8DP8A0A(B BBB,x{\KAA BDB`BBB B(A0A8DPW 8A0A(B BBBE D8A0A(B BBBL BEE E(I0A8G`8C0A(B BBB\2pA>8b>z$GAAD ~AA,?cRA(HAGD0zAAt)      GM   4 H \ p      v m ,d DW XNAOpG >: 1GM.0 '   ( AR@ Th |        $ < P d |x o f Y P G : 1 $( <DXA4tqADL  AAB AAXb,dBBB E(A0A8GP% 8G0A(B BBBF k8A0A(B BBB<EX3AG gCx6b >>@2=>@> Szh(@(@ @͊؊@@Q|f@Q|f Nj Nj @@hs@@ fuYxڗ@@ Yx6ڗ Yx6ڗ fuY&x1ڗ@fuYGxRڗ@fuYGxRڗ fuYxڗ@fuYxڗ Хإo   ` o$0#8%HGCC: (Alpine 14.2.0) 14.2.0.shstrtab.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.rela.dyn.relr.dyn.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment 0$1o; C K``U008_ e  kqg yhzhzppХХإإh HHX `Xp 0XtELF>T&@@8 @@@@HH ""MM 0 0 0 0088800hhh$$Std88800Ptd@@@QtdRtdP P /lib/ld-musl-x86_64.so.1 GNU GNU;$ՠ[5UN uR@RSAr:_   e aH/Z0Ji= " mYMg3w !zq(.6S&QIVA _init_fini__cxa_finalize__libc_start_mainfree__assert_failstderrvfprintfputc__stack_chk_failcloseexitreallochtonshtonlstrcmpstrcasecmpntohsputsstrlenputcharatoigmtimestrftimesnprintfvprintfntohlmalloclocaltimeabortmktimetolowerstrncmpstrdupsocketfcntlroundinet_ntopinet_ptonsscanfgetaddrinfofreeaddrinfostrchrpowlogstrncpy__errno_locationunlinkstrerrorfdopenfreadgetsocknamesetsockoptconnectstrrchrgetpidbindchmodgettimeofdaygetrandomsendselectrecvgetnameinfofflushstdoutferroroptindgetoptoptargisattysigemptysetsigactionstdinfgets__deregister_frame_info_ITM_registerTMCloneTable_ITM_deregisterTMCloneTable__register_frame_infonettle_get_hasheslibnettle.so.8libc.musl-x86_64.so.1NETTLE_8                  (08@HPX`hpx !"$%&'()*+,-./012345 6(70889@:H;P<X=`>h?p@xABCDEFGHIJKLMNOPQx #WUUUUUEUUUUUUUUU UU!""""PX5R%T@%RhAWAAVL5"AUL-ATUSHHL%dH,%(H$HHD$E<$D9~lJtLH4$;H4$u Ht$CHH=)+LIuHH5H=1:E1ACE1E1A$D$HHL v`Nt~ƒ4aHHcHA4uArHL(cTEHH8A-HH51H=Ht$CH1H=˯o$1Qt*Bt3t  =tA9$uH5H=E1D=MuL-HH|$DŽ$HD$L|$H51Ly#H511Lx1Lx1Lx1L s z<)11ɾHIHljHH@hH AG d11H0IǾxHH@@HYAG )E1E1ɾLIHH@DHH#E11ҾAG Dl't Y1't :D='A9} DA'LD,H-AAŅuH5=1"A$L%E9}eHc)Ht$5AHH-*HHHHtOsHuBH'Aŋ[uF=tLH=C1HH8t늃=t Hu'@H-1;] sH;8u HxH H=zH=fH=R9} 1DH$dH+%(tHĸ[]A\A]A^A_H1HH5H7HWLE1H H=H=HH9tH~Ht H=H5H)HH?HHHtH-HtfD=YuGUH=Ht H=gH=t H=N]ff.@H=Pt&UH5H=H6]8+` Ht/ʃ wH tʃ v# tHHuʃ w Hu tË19 |19‰Ë@Hc‰&HHHH1AAA ^wD8uÅx9NljH*ø9MljH*^SHH?H[%;w r!H -P^H5H=GHHfrt-tyu| wt )1ɉ Áv19~  HtLc)B4Ht HfBH QPGH5XH=K7SHHT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1tJH$$HHD$HD$ HD$H$D$0HHH޿ JHD$dH+%(tLH[QsuZ%JXPXH5_P16S9s H PEH5 H=DGH9r9sLwC9stsH;HHtHu ,1JHu`H[HG H|$pw eH|$G HpgU1HHSHR}fCEft ft.fu6'H9s HCH9 H9s HEH9s E}G 13fCX[]1AVL5HAUATIUHSH;tMHLHIu E$H5Htu1=A$L[]A\A]A^SH5؃Hi¸tQH5ٌHN¸t6H5H3¸tH5H[À?v3SHfJv1{HED[1Ã=Uu@SHH|$WH|$Åt=IH [%7AWAVAUATUSHHH$8H$@H$HL$PL$Xt@)$`)$p)$)$)$)$)$)$dH%(H$(1H$ D$1HD$H$0L%|D$0HD$ E1B+<%ttBD,(IIu IcŃ=D(uHt$(L1 B<+ J\+u +E1u HA1AŃ0 w"HHHHAՃ0 vA.u,L{t$ Lt$ ALIAŃ0 vHÃ=ft7tT$ ,uT$ AE<wH ZHcH1E1AMD$3 H=yHc H/wƒHT$ D$HT$HBHD$:H5рRH5F/wƒHT$ D$HT$HBHD$2H=N~H=,1L$wȃHD$ L$HD$HHHL$WLNf/AO8tL0H ;AOuH &TH=/wƒHT$ D$HT$HBHD$uH=1MH=u=vc=w<1H=]H=Ew1H=G-=[&v31H=1Q1H="1T/wƒHT$ D$HT$HBHD$tB tt$JuEH>CHtCH:Ht/H~&HtH~H uH~H-/wƒHT$ D$HT$HBHD$H5~H5~H5~O/wƒHT$ D$HT$HBHD$H5~HH5~KH5~DH5M~|T$wЃHD$ T$HD$HPHT$E(T Ytf/H={~wH=z~f/H=|~vH=l~/wƒHT$ D$HT$HBHD$2H=A~T$wЃHD$ T$HD$HPHT$E(T  f/vYغH=}_̺f/vYƺH=}=f/vYH=}H=}f/WH=}f/~f/vH=~}^qlf/vH=d}^_Zf/vH=J}^MH=>}^Aof/vY ιH=$}(Rf/vY H=}(-f/vY H=|(f/v(H=|@f/v(H=|cf/v^ ]H=|(Nf/v^ HH=|(9f/v^ 3H=e|(_^ $H=U|(H/wƒHT$ D$HT$HBHD$H:9HH#Ll$(H|L{LH=~1y1T$/wЃHD$ T$HD$HPHT$T$/wЃHD$ T$HD$HPHT$H LAH H@HcHL,Hi{1LD/wƒHT$ D$HT$HBHD$HH=6{/wHL$ D$HL$HAHD$D)DrEDDA0sރ/wƒHT$ D$HT$HBHD$:F1T$/wЃHD$ T$HD$HPHT$H=z`T$wЃHD$ T$HD$HPHT$15T$wЃHD$ T$HD$HPHT$1 H= yAL$wȃHD$ L$HD$HHHL$H=xEtH=x,/wƒHT$ D$HT$HBHD$H=yo/wƒHT$ D$HT$HBHD$HH=ryEtH=ay14/wƒHT$ D$HT$HBHD$H=y1+D$/wHD$ HD$84t H aH5vH=y=3t JH$(dH+%(tqH[]A\A]A^A_HHt$(HT$0HL$8LD$@LL$Ht7)D$P)L$`)T$p)$)$)$)$)$dH%(HD$1=u/H$$HHD$HD$ D$0HD$HD$dH+%(tHUHSHRcfCfCft ft.fu6'H9s HCH9 H9s HEH9s E}fCX[]ATUHSH;A=u1H {L HEɚ;9G‰HE[]A\UHSH PH ZH []SHHu!HtH5t}a[AWAVAUATUSHdH%(H$1H=HtH1:HD$ H|$ Hu HHE1E1AH$D.H$E1䍑lHI#QDP DPDPD@ D$DDDyDnDcIH\$D\$KD5DeH9L)H]I'u  'MI9LOKH@ L<$L7A?@ H<$H5)sV H<$H5s= H<$H5Tq H<$H5rvp H<$tHy E1DD$HQ L=I7Ha L=I7H H<$H5rL=  I7H<$Hl DxH$McIA?sr AHH2HW HT$H<$HT$2 B B 11҉=D=u$nHH50H=E= HHOD$Ѓ2wQHH549u@HL$EDP|$T$HHIcH%u|$iILcHJ4 )HHcD/HlHcHzpaC15}{CpCc1ɉ WKEC3A11C$ADkC͋CC뻋CxCkJ@6,"*CCCCCC3t=~t=mu 5'~4AdQAtAA'fA`Er1҃c~ AdA45,1҉ DAHHH)H)D@HXHu}BHMHc2wHH=I@:4u HH L$r|$=G 02v!I9LeHHB"uH<uL$E~͋D$HMH$I9t1LV=uDAd=U HD clDlD iDf-EvDDd$tDȉl$lȉD$puD up=tg 39t*tt 7v8H  u"1H  u1 d5 111D 5  D$h1D ҉t$dD ʉL$`D ‰D$xt DŽ$H\$`H|$(Ht$`HHt$(HD$ Ht =8uW^=!Hߋ AF -l$lH߉HD$ Hu=t=%F H߃+D$x1)k D$l4HD$ HuHH|$ HH1xAdDD$tADkAkDAAAAD)HcHimL$|+FHc DAD)D)HHЋT$h+VHkHcHЋT$d+VHk@t@.t@8HHL=Uu4aAG AG H<$tII7Hu<(5H1@8H@t@(u@)uʅHH$dH+%(t,HĨ[]A\A]A^A_Q[HuH5?dZÃAVAUAATA1USy1MAƉǾ1D1 DtD!ut1D[]A\A]A^H1|$ 1t|$ HSft1/tut t[UH,SHRH*H/\YIH,H?BHCH~v@BHHHSHHHHy H@BH HCX[]ËSHHHcHHGftkwfu*HdwfujHd@1Hf@RHddHIHIIHPE1Y^,@Hڿ H6d@H1yH[ATIUSH0dH%(H\$(HHT$ H~C|$ (HHl$L Hֿ~5CH9s HCH9rHD$ H9sH9s (D$1HT$(dH+%(tH0[]A\1ATIUHSHfFH1H5PctLHuK11-AD$:ȃ v(< t$HHtk Ɖuׄu11[]A\AVAUATAUHSHH`dH%(HD$X1HkHfDA9Ht$@Hv5\t-tT$P9/D$P(D$@E1EHT$ HtuD$ D$HD$HL$1ÅLl$D9MAEt t.}=wtLcIEMkxIfAFAOuEIUzu;HcHJHkHf@H9s HpH9 H9s HJH9s BMm(XH|$ֽ1f}HT$XdH+%(tH`[]A\A]A^AWAVAUATUHSHhdL4%(L$XAL|$11HHHH@ H:HD$IA<$,LHHtHA<$/uHLIIEVLLuBML$XfA|$t.HI@AD$AL$HfDp@M9uHu$H|$!H$XdH+%(tI,HhH[]A\A]A^A_SHH1H5_HH|$tH|$HCH[ATUSHH ?dH,%(Hl$HufEfFGH|$/WH|$HIteHt|IHL tCf9Euao1HT$H5_LBu?|$HEsuHtuHڃH5^H5^11HT$dH+%(tH []A\UHH5!lSHHHT$HT$H1tH5^1HH\uH5A^1H[]UHH5cSHHHT$[HT$H14tH59^1HHuH5])1H[]AWAVE1AUATAUHHSHH5^HHdL,%(Ll$8AHIٸuLLAIA?t1H5]1;~/H"IHt;HxHL$1HT$H5]=uHcD$A|u|$xAD$L|$ HfD$0Lt&\$D|$0 fAHL$1HT$ H߉D$IH5 ]D$D$ QHD$P1LD$ Y^…~bHcD$<uWD$ =t$L$\$A  ȉD$ yOF|$LH}D|$0 fAuAE11EEEDeHuH|$ fD|$0fEME(HT$8dH+%(t߸HH[]A\A]A^A_Sy€Ãs*z(*[YAT(WUSHf/vf/SWf/M1f/f/!DvD(T$)^X\,Ж)*DT$YXҖ,Ѕ H ;H5ZH=ZʶDA9}?Ѓ} |)ٻ ?11ۅu11%11 H[]A\AVAUATUH@SHdH%(H$HZH5;ZfEHHIt3H5ZHt'H5ZHAնtAA{1E11H H|$XLHD$H HD$ HHD$HHD$P[H"Ht$8HD$`H_HD$(HD$xHRHD$0dH$HHD$@LD$hLD$pHDŽ$HDŽ$HDŽ$H$HDŽ$A<$HLd$L5Y;HL{1H߉L$ Iu D$,H5XHu D$4sH5XH`u D$hRH5XH?u D$81H5|XHu 1҉T$(H5qXHuHL$ HT$tH5WH5WiHմu2HL$ HT$pLH5Wg|$pH5 XHuHL$ H$H5WHiuLHL$ HT$LH5WSD$=#t=$=L$l&L$lH5WH uHL$ HT$TH5WHu D$H5iWHųu D$H5MWHuHL$ HT$xH5 W0H5,WHzuHL$ H$H5WHWuHL$ H$H5WH4uHL$ H$H5VHuHL$ HT$$H5VHuHL$ HT$PzH5VH˲uHL$ HT$HWH5VHuHL$ H$H5VHuHL$ HT$ H5mVH_uHL$ HT$LH5UVH<uHL$ HT$<H5_Hu D$` H5VHuHL$ HT$dH5`HձuHL$ H$)H5UHu HL$ HT$>H5UHu HL$ HT$@H5UHou HL$ HT$0H5VTLtP[H5tH;u HL$ HT$DH5ZUHu D$XHt D$\Hc\$ L(H5T11H\$HH=v H5TH$H3uDկH\$EHlH=v H mH5PH=SlHH}|$|$ p|$$`|$0 P|$<$@|$@(0|$D, |$H0|$L4|$P8|$p<|$d@ЮD$xD$H$L$P$T$X1҉\D$l |$(% 1҃|$, 1҃|$8 1҃|$X 1҃|$4 1҃|$` 1҃|$h ЋT$u 1 1@|$\  |$T`|$td$hl1pH$dH+%(tH[]A\A]A^AUATUSQ'uH1Hŋt/H 9tHcHHH}uKPIMeMu4I4$H}ImuA|$tI|$tLeHEZ[]A\A]AUATUSH(GdH%(H\$Hft ft1;y3''uH5[Q1HHHHLhL`Am LAUHھLAU HT$L9HFAU(vD$HT$dH+%(tzH([]A\A]ATUSHH $HHJqL PHIdH%(H$1Hl$RHPSHY^HH=v%ILyPHHH5P1S11H1(ÅyX$8HÃu3Hy΋;mHH5LPH1}E1bIHH5APHډH5nYIHu/8HH5PH1EH$dH+%(tHL[]A\SHH ϬHuH|$yH|$HHHھөH9t%H1OH5O1yH[HdH%(H$1HT$ Ht$D$ pxD$ mwf|$u H|$>H$dH+%(t-HĘË=OxPz=?0ZAWAVAUATUSHdH%(H$1=x L-NH=5;w  HŋtEftft&=CAAu$=tAA 51D=Åx1u *IM)I~HL9s J0I9I9s L9>HLLB3H)Lp2LlIHLLAL1դL}1ҿ5ȶŅtMuwڥLt$1lLHaKH|$LbkLfD$qnLxbLߤxPMt^Lt$1lLHJH|$LkwfD$nLyaH߉-iL`x':H H5EH=Hͤ1u1H$dH+%(tzHĘ[]A\A]A^A_AWAVAUATUHSHHT$L$dH%(H$11CAE1fCHC HD$(1HD$HТAą!EED9- HD$(E1Li|$0H$u9=yuRH=fH=t N'H5><BD3IIuH{ZA{fCofJwHD$Et H AHD9|H H5,DH=SIMcHcALH)ʉ1HH=LHHiD$0HT$(H9$| I9~H$IH*$AuL)t$L$*^H*YH*\H*YbX\Wf/H|$CHt$8 1H <v HcD5HHHT8Ey11LD$=1ɺ HРIąwU;uE%=t#WN}9ft9}/Cf9E"C9E=Tu }uBDl$A}ءPHBA9|H=G?H=WG1T ifw]}q\$9tH=WI1>}MPcH OH5AH=6IfEt1N}DD$DD yfHjHcHH=F4H=F(H=FH=FH=FH=FH=FH=FH=FH=FH=GH=GH='GH=6GH=IGH=XGH=jGtH=|GhH=G\H=GPH=GDH }fD[]A\It$P6LAXHH?1%'AWAVAUATUSHdH%(H$HT$(Ht$,裶Ù1ɺH$PH$\f$`u1$l|$(D$thH=mBՙH=BșH=BH=CH=RCH=CH=CH=CzH=D1D$9 Ef$`1ɺH$PH$\$p Ld$0H$pL|$,u f|$@$lA-1f|$@M‰H|$P$ژ$Aɘ$D$‰T$$D$$D$$$hT$$L$T$tARA-tATA-tAP-tN-AtR-AtTA-AtAPAA-tAN$NtYD$LT$PHh4AWWH=dBj-AUATASVDj-RLP;H`H$dH+%(tH[]A\A]A^A_AWAVAUATUSHH $HH5EdH,%(H$HHHH5.BHADž,EH$p1H$ f$qÅ/1H=Ab$|$D$k$$[$AK$<DH=AP1h4DL$DD$ٳT.H5BH"uH$H.H5DHuH$H5AHΓADžH$H$HH$1ɺf$H$pHHD$$Å_)$=$D$tAH=+A H=hAH=AH=AH=B֔H=TBZ1$ $9L$-L$=<$f$4Ht$1L$a($fH$0H$H$uf$@wCHt$1Lf$$$$$(H$pI|$֓H>ft H>ftH*5ftH4HT$0$$D$Dr$D`$@$D$(>$fD$+$fD$  H$ph4H=@AV1AUATUDD$PAPDL$HDD$PHT$`菰H0$H5e6HѐHH5@詪HH螪H$H1H$lH5T@\H$pL$pfDŽ$fDŽ$}u[$f$$$H$H߉$ǭH$LLHHuH5?H؏ADžF1E1L-?$1$;HL萩HHtfH5}?Hu5HH54]H$HH10t1H5C?PH5Z?H8 $ AHHcH <EtH ;H?P11H$pH̎H4D1f$)$$$<$$H$p1H$$ÅS$$1/$AD$D9xL$Lku>H5*HD}IAGըuH}萑tA A+u L}uH$Lr$tD牄$t߉$TsH$ H5~*HfrADž6sH$p1H$f$Å. H$ MH$HD$X;H$HD$P)H$H$H$HD$H$HD$H$HD$HH$HD$ОH$IH$I谞H$I蠞H$HD$ 莞H$H~H$HD$@lH$HD$8ZH$HD$0HH$HD$(6H=)APH1h4L\$hASLT$hARt$ t$0t$@H$Rt$XAVAUAT$UL$L$H$H$3Hp H5*HxpADž1mpHH$H$ޝHHuH=*q'1q$HH |q߉$mq $SqH$pH$f$|Å$$fH~$$ܸ $H=)(fHn0p HH5"*co> H5*HFoADž3pH$p1H$ f$Å $p$/$D$$D$ $D$$$ $T$\$d$H5tH4H=1)b H5)HFnuNHL6n1tH5L H nuyo4$H5)H5)HmADžudL$pHLH5H$LHÅ4HH=1 H5HimADžH$H$H{nH$1ɺf$H$pHH$Å$n$D$ts mH=(nH=(nH= )nH=H)tnH=)gnH=)ZnH= *MnH=K*@nH=t*E1D9d$jmDf$mH4$1ɺH$$AŅ $mL$0H$LLD$d$LD$uf$@Afuf$@u $0E11DH$pA fw HID,($@ cmfwHI@,$Am$荴$D$0{$D$(i$D$ l$Al$fD$l$fD$l@AH$pWDH=)h4AVl$(UT$PL$HD$@DL$81H AH5)HsjADžgH$H$H腈k1ɺf$H$pH$H$H4$HHD$Åu1$k$AtuH=s(kH=(kH=(kH=.)~kH=l)qkH=)dkH=)WkH=.*JkH=o*=kH=*1迈A9j"jf$jH4$H|$1ɺ$H$0H$脕$uf$@$L$pj1ҾLf$@L$0$$D$0$D$(ϱ$D$ 轱$D$Bj$D$1j$A!j\$0DD$A4T$(L$ D$DLH=)誇H5)Hgu3HiƒcH5)1˃iDH5)HgADž!hH$p1H$f$ År$L$p1iL$0H$LAL$謓L$1Df$@L5L$H$LLD$@ۓ$h$$fI~$D$8$D$0$D$(د$D$ Ư$D$贯$D$袯$D$萯$$%hh4LDAV|$HDt$@l$8H='d$0\$(T$ L$D$LD$P者XZHH5)e$t?H5)HeADžuHH5(Heuff$TH5(H_etH5(HKeuH5(15H5(H$pAH$Ã=qt H=T$fHdH8dHfH(HdtH5\(1D!袀 HeuH$dH+%(tfH[]A\A]A^A_AVL5(AUIATUHSHEeEt9Aԃ vA uu4 H'tALdHtH9rD#1H1I먀{ uH}t[H]A\A]A^hHzcH8cH eH8c[]A\A]A^AWE1AVAUIATAU1S1H(dL4%(L$AE9LL$Hc1H)LL$LKLH'cLL$ŁvH5&1Eu AGA9LÅu1-tuIuH$dH+%(tdH([]A\A]A^A_PXarray.cindex < array->usedclient.cCould not allocate memorymin_size <= 2 * min_size-a-vnoselectrequiretrustYesNoslowfastsecondsppmNormalNInsert second+Delete secondNot synchronised?InvalidSymmetric activeSymmetric passiveServerDaemonKernelHardware%+*.*f%*.*f%2d%*.*f %s %s -%4u%3um%3uh%3uy%3ud%+10.3f%+10.0f%10.3f%10.0f%08X%+5.0fns%+5.0fus%+5.0fms%+6.1fs%+6.0fs%+6.0fm%+6.0fh%+6.0fd%+6.0fy%4.0fns%4.0fus%4.0fms%5.1fs%5.0fs%5.0fm%5.0fh%5.0fd%5.0fy%a %b %d %T %Y%*u%ld.%09lu%*lu%*d%*o%-*s%*sama.m.p.m.dst[UNSPEC]%lu.%lu.%lu.%luID#%010u[UNKNOWN]ID#%uCould not get address for hostnameInvalid syntax for mask/addressInvalid syntax for address valueallCould not read address%d%n%u%n.%u%n.%u%nutil.ccoef > 0serverpeerpoolInvalid syntax for add commandauto_offlinecopyiburstcertsetasymmetry%lf%nextfield%x%nfilteripv4ipv6maxdelaymaxdelayratiomaxdelaydevratiomaxdelayquantmaxpollmaxsamplesmaxsourcesmindelayminpollminsamplesminstratumntsportpolltargetpresendxleaveInvalid host/IP addressCould not get MD5/dev/urandom%s%s%s%sFile path %s%s%s%s too longCould not remove %s : %sCould not open %s : %sCan't read from %sIPv4IPv6Could not open %s socket : file descriptor in reusable range/%s/chronyc.%d.sock506 Cannot talk to daemoncommand_length > 0 && command_length > padding_length200 OK208 Access allowed209 Access denied500 Failure501 Not authorised502 Invalid command503 No such source504 Duplicate or stale logon detected505 Facility not enabled in daemon507 Bad subnet510 No command access from this host511 Source already present512 Too many sources present513 RTC driver not running514 Can't write RTC parameters515 Invalid address family516 Sample index out of range517 Protocol version mismatch518 Packet length mismatch519 Client logging is not active in the daemon521 Invalid name520 Got unexpected error from daemon508 Bad reply from daemonPKL_ReplyLength(reply)%d %lf %lf %lftry: %d, refid: %R, correction: %.9f, skew: %.3f . State: N - noselect, s - unsynchronised, M - missing samples, / d/D - large distance, ~ - jittery, w/W - waits for others,| S - stale, O - orphan, T - not trusted, P - not preferred,| U - waits for update,, x - falseticker, + - combined, * - best.| Effective options ---------. (N - noselect, P - prefer| Configured options ----. \ T - trust, R - require)| Auth. enabled (Y/N) -. \ \ Offset interval --.| | | | |S Name/IP Address Auth COpts EOpts Last Score Interval Leap%c %-25s %c %c%c%c%c%c %c%c%c%c%c %I %5.1f %+S %+S %1L SKNTSNTS-KECmd%s%s %s %28s%-28s%sSHA1(leap second only)activity200 OK %U sources online %U sources offline %U sources doing burst (return to online) %U sources doing burst (return to offline) %U sources with unknown address addauthdata .- Auth. mechanism (NTS, SK - symmetric key) | Key length -. Cookie length (bytes) -. | (bits) | Num. of cookies --. | | | Key est. attempts | | | | | | |Name/IP address Mode KeyID Type KLen Last Atmp NAK Cook CLen%-27s %4s %5U %4d %4d %I %4d %4d %4d %4d %d/%dInvalid syntax for burst commandclients-k-pInvalid syntax for clients command-rHostname NTP Drop Int IntL Last %6s Drop Int Last%-25s %6U %5U %C %C %I %6U %5U %C %I cmdaccheckcmdallowcmddenycyclelogsdeleteInvalid syntax for addressdfreqInvalid valuedns-46-4-6-n+nUnrecognized dns commanddoffsetdumpexitkeygenInvalid syntax for keygen commandAES128AES256SHA256SHA384SHA512SHA3-224SHA3-256SHA3-384SHA3-512TIGERWHIRLPOOLUnknown hash function or cipher %s%u %s HEX:%02hhXlocaloffInvalid syntax for local commandorphandistanceactivatemakestep%lf %dBad syntax for makestep commandmanuallist210 n_samples = %u # Date Time(UTC) Slewed Original Residual%Y-%m-%d %H:%M:%SINVALID INVALID %2d %s %10.2f %10.2f %10.2f Bad syntax for manual delete commandresetInvalid syntax for manual commandmaxupdateskewntpdataRemote address : %s (%R) Remote port : %u Local address : %s (%R) Leap status : %L Version : %u Mode : %M Stratum : %u Poll interval : %d (%.0f seconds) Precision : %d (%.9f seconds) Root delay : %.6f seconds Root dispersion : %.6f seconds Reference ID : %R (%s) Reference time : %T Offset : %+.9f seconds Peer delay : %.9f seconds Peer dispersion : %.9f seconds Response time : %.9f seconds Jitter asymmetry: %+.2f NTP tests : %.3b %.3b %.4b Interleaved : %B Authenticated : %B TX timestamping : %N RX timestamping : %N Total TX : %U Total RX : %U Total valid RX : %U Total good RX : %U Total kernel TX : %U Total kernel RX : %U Total HW TX : %U Total HW RX : %U Invalid syntax for offset commandonlineonofflinequitrefreshrekeyreloadInvalid syntax for reload commandreselectreselectdistInvalid syntax for reset commandInvalid maximum number of retriesrtcdataRTC ref time (UTC) : %T Number of samples : %u Number of runs : %u Sample span period : %I RTC is fast by : %12.6f seconds RTC gains time at : %9.3f ppm selectdataselectoptsInvalid syntax for selectopts commandserverstatsNTP packets received : %Q NTP packets dropped : %Q Command packets received : %Q Command packets dropped : %Q Client log records dropped : %Q NTS-KE connections accepted: %Q NTS-KE connections dropped : %Q Authenticated NTP packets : %Q Interleaved NTP packets : %Q NTP timestamps held : %Q NTP timestamp span : %Q NTP daemon RX timestamps : %Q NTP daemon TX timestamps : %Q NTP kernel RX timestamps : %Q NTP kernel TX timestamps : %Q NTP hardware RX timestamps : %Q NTP hardware TX timestamps : %Q settime510 - Could not parse date stringClock was %.2f seconds fast. Frequency change = %.2fppm, new frequency = %.2fppm shutdownsmoothingActive : %B %s Offset : %+.9f seconds Frequency : %+.6f ppm Wander : %+.6f ppm per second Last update : %.1f seconds ago Remaining time : %.1f seconds smoothtimeInvalid syntax for smoothtime commandsourcename .-- Source mode '^' = server, '=' = peer, '#' = local clock. / .- Source state '*' = current best, '+' = combined, '-' = not combined,| / 'x' = may be in error, '~' = too variable, '?' = unusable.|| .- xxxx [ yyyy ] +/- zzzz|| Reachability register (octal) -. | xxxx = adjusted offset,|| Log2(Polling interval) --. | | yyyy = measured offset,|| \ | | zzzz = estimated error.|| | | \MS Name/IP address Stratum Poll Reach LastRx Last sample %c%c %-27s %2d %2d %3o %I %+S[%+S] +/- %S sourcestats .- Number of sample points in measurement set. / .- Number of residual runs with same sign. | / .- Length of measurement set (time). | | / .- Est. clock freq error (ppm). | | | / .- Est. error in freq. | | | | / .- Est. offset. | | | | | | On the -. | | | | | | samples. \ | | | | | | |Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev%-25s %3U %3U %I %+P %P %+S %S timeoutTimeout %d is too shorttrackingReference ID : %R (%s) Stratum : %u Ref time (UTC) : %T System time : %.9O of NTP time Last offset : %+.9f seconds RMS offset : %.9f seconds Frequency : %.3F Residual freq : %+.3f ppm Skew : %.3f ppm Root delay : %.9f seconds Root dispersion : %.9f seconds Update interval : %.1f seconds Leap status : %L trimrtcwaitsyncwritertcauthhashpasswordAuthentication is no longer supportedUnrecognized commandCould not write to stdout!;#%%s Command too long/run/chrony/chronyd.sock,127.0.0.1,::1--helpUsage: %s [OPTION]... [COMMAND]... Options: -4 Use IPv4 addresses only -6 Use IPv6 addresses only -n Don't resolve hostnames -N Print original source names -c Enable CSV format -e End responses with dot -m Accept multiple commands -h HOST Specify server (%s) -p PORT Specify UDP port (%d) -v, --version Print version and exit --help Print usage and exit --version-READLINE +SECHASH +IPV6 -DEBUG4.6.1chronyc (chrony) version %s (%s) +46acdef:h:mnNp:vchrony version %s Copyright (C) 1997-2003, 2007, 2009-2024 Richard P. Curnow and others chrony comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public License version 2 for details. sigemptyset() failedsigaction(%d) failedCould not open connection to daemonchronyc> md5sha1sha256sha384sha512sha3_224sha3_256sha3_384sha3_512bixtomorrowyesterdaytodaynowlastthisnextfirstthirdfourthfifthsixthseventheighthninthtentheleventhtwelfthagoyearmonthfortnightweekhourminuteminsecgmtutcwetbstwatedtcstcdtmstmdtpstpdtystydthdtcatahstidlwcetmetmewtmestmeszswtsstfwtfsteetbtzp4zp5zp6wastwadtcctjsteasteadtgstnztnzstnzdtidlejanuaryfebruarymarchaprilmayjunejulyaugustseptemberseptoctobernovemberdecembersundaymondaytuesdaytueswednesdaywednesthursdaythurthursfridaysaturday_WW_WWt^WWWWW5`_WW5`^WWaaXaaXaaQYY;ZXZ^[I[].^\^aaaaaaaaaaa_O__a+`aaaaaaaay`aaa`a`hhhhhSlhhiqiii jjj#j;jHjMjjjjjjjkSl)k)k1k>k>kFkSkSk[khkhkpk}k}kkkkkkMlHlŕѕq}ݕ I%1=aUSystem clock:trackingDisplay system time informationmakestepCorrect clock by stepping immediatelymakestep Configure automatic clock steppingmaxupdateskew Modify maximum valid skew to update frequencywaitsync [ [ [ []]]]Wait until synchronised in specified limitsTime sources:sources [-a] [-v]Display information about current sourcessourcestats [-a] [-v]Display statistics about collected measurementsselectdata [-a] [-v]Display information about source selectionselectopts <+|-options>Modify selection optionsreselectForce reselecting synchronisation sourcereselectdist Modify reselection distanceoffset Modify offset correctionNTP sources:activityCheck how many NTP sources are online/offlineauthdata [-a] [-v]Display information about authenticationntpdata [
]Display information about last valid measurementadd server [options]Add new NTP serveradd pool [options]Add new pool of NTP serversadd peer [options]Add new NTP peerdelete
Remove server or peerburst / [[/]
]Start rapid set of measurementsmaxdelay
Modify maximum valid sample delaymaxdelayratio
Modify maximum valid delay/minimum ratiomaxdelaydevratio
Modify maximum valid delay/deviation ratiominpoll
Modify minimum polling intervalmaxpoll
Modify maximum polling intervalminstratum
Modify minimum stratumoffline [[/]
]Set sources in subnet to offline statusonline [[/]
]Set sources in subnet to online statusonofflineSet all sources to online or offline statusaccording to network configurationpolltarget
Modify poll targetrefreshRefresh IP addressesreload sourcesRe-read *.sources filessourcename
Display original nameManual time input:manual off|on|resetDisable/enable/reset settime commandmanual listShow previous settime entriesmanual delete Delete previous settime entrysettime