From 211fbcf34dbb662150de3c9d2bf2c8b22b6b9d3f Mon Sep 17 00:00:00 2001 From: GraceSolutions Date: Wed, 3 Jun 2026 20:06:13 -0400 Subject: [PATCH] Bulk v4 batch routes + strongly-typed -Secrets IDictionary[string,string][] - Endpoint registry: register POST/PATCH/DELETE /api/v4/secrets/batch as preferred candidates for BulkCreate/Update/Delete; v3 raw routes retained as automatic fallback. - DTOs: add projectId (required for v4) alongside workspaceId on the three batch request envelopes; both serialized when set, both ignored when null. - SecretsClient: populate ProjectId in CreateBatch/UpdateBatch/DeleteBatch so v4 succeeds on first attempt. - Cmdlets: -Secrets on New/Update-InfisicalSecret changed from Hashtable[] to IDictionary[] for stronger typing and tab-completion; converter rewritten to accept IEnumerable>. TagIds parsed from comma-separated string; nested Metadata dropped from bulk hashtable surface (still settable programmatically on bulk items). - Tests: 166 passing (was 161). Bulk endpoints now resolve to v4 primary with v3 fallback; new tests verify projectId envelope serialization, dual-key omission, and TagIds trimming. --- CHANGELOG.md | 11 +- Module/PSInfisicalAPI/PSInfisicalAPI.psd1 | 4 +- Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll | Bin 177152 -> 177152 bytes .../BulkSecretConverterTests.cs | 35 +++--- .../BulkSecretDtoTests.cs | 29 +++++ .../EndpointRegistryTests.cs | 20 ++- .../Cmdlets/NewInfisicalSecretCmdlet.cs | 4 +- .../Cmdlets/UpdateInfisicalSecretCmdlet.cs | 4 +- .../Endpoints/InfisicalEndpointRegistry.cs | 36 ++++++ .../Secrets/InfisicalBulkSecretConverter.cs | 117 ++++++------------ .../Secrets/InfisicalSecretDtos.cs | 9 +- .../Secrets/InfisicalSecretsClient.cs | 3 + 12 files changed, 158 insertions(+), 114 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 251ad61..c63b5cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,19 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) loos ## Unreleased +## 2026.06.04.0005 + +- Build produced from commit e0a6ef02df3e. + +## Unreleased (carried forward) + +- **Bulk v4 batch routes**: Endpoint registry now registers `POST|PATCH|DELETE /api/v4/secrets/batch` as the preferred candidates for `BulkCreateSecret`/`BulkUpdateSecret`/`BulkDeleteSecret`; the existing v3 raw routes (`/api/v3/secrets/batch/raw`) remain as automatic fallback. Batch request DTOs serialize both `projectId` (required by v4) and `workspaceId` (accepted by v3) when populated. +- **Strongly-typed bulk input**: `-Secrets` on `New-InfisicalSecret` and `Update-InfisicalSecret` is now `IDictionary[]` instead of `Hashtable[]`. `InfisicalBulkSecretConverter` accepts `IEnumerable>` and parses `TagIds` from a comma-separated string. Nested `Metadata`/`SecretMetadata` dictionaries are no longer accepted in the bulk hashtable surface (set `SecretMetadata` programmatically on `InfisicalBulkCreateSecretItem`/`InfisicalBulkUpdateSecretItem` if needed). + ## 2026.06.03.2207 - Build produced from commit 09c3d5c68bbc. -- **M9 — Bulk, Duplicate & Inheritance**: +- **M9 — Bulk, Duplicate & Inheritance**: - **Bulk parameter sets** added to `New-InfisicalSecret`, `Update-InfisicalSecret`, and `Remove-InfisicalSecret` accepting `-Secrets Hashtable[]`; client methods `CreateBatch`/`UpdateBatch`/`DeleteBatch` wrap `POST|PATCH|DELETE /api/v3/secrets/batch/raw`. - **`Copy-InfisicalSecret`** cmdlet added, wrapping `POST /api/v4/secrets/duplicate` with source/destination environment + path parameters and per-attribute copy toggles. - **Connection inheritance** centralized in `InfisicalCmdletBase` (`ResolveProjectId`/`ResolveEnvironment`/`ResolveSecretPath`/`ResolveApiVersion`/`ResolveOrganizationId`). Explicit parameters always win; missing values fall back to the active connection and emit a `-Verbose` line. diff --git a/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 b/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 index bd0557e..2d0e294 100644 --- a/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 +++ b/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 @@ -1,6 +1,6 @@ @{ RootModule = 'PSInfisicalAPI.psm1' - ModuleVersion = '2026.06.03.2207' + ModuleVersion = '2026.06.04.0005' GUID = 'b8a2f3d4-7c51-4d2f-9e6a-1f0c8b3d4e51' Author = 'Grace Solutions' CompanyName = 'Grace Solutions' @@ -51,7 +51,7 @@ LicenseUri = 'https://www.gnu.org/licenses/agpl-3.0.html' ProjectUri = 'https://prod.git.gracesolution.info/gsadmin/PSInfisicalAPI' ReleaseNotes = 'See CHANGELOG.md in the project repository for release history.' - CommitHash = '09c3d5c68bbc' + CommitHash = 'e0a6ef02df3e' } } } \ No newline at end of file diff --git a/Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll b/Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll index ca605fc20afc9c2116736db3c473c1507b503b87..c2228bd2b65eb15cce929867338949db1dc619ef 100644 GIT binary patch literal 177152 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 z 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 q#dzSAGj=$-k|ax2&Qk=v!= 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 literal 177152 zcmd442Yggj`UZUG&di;X0+WO!5IQCd$qc=tG(iMZMC=u@AQleZ0b2|P6}#9A_FmRr z5X;(i?Y%2tU)Qzl`ghf};rBf6x#!MJCJDIueZMctInVo?e$IR9J@?MmyPj!<>WCSKIrPPMG9LSbul-PlzowGXVmy^BJFE$e36 zvK-A$eipbl@CUFhtFvH0=9_=UwtAy9;>AL_<}RmK{-3u!kre*Ee#W+D5g^_VSP=z( zVXGM2zn`|P?F-yGAbML?Jm4IMyk$ThxOl%K7DL|hFJ8G=RxjVi8-mOo=;qvgKuF$L zb{6#3mL4Zs*2IDCeg`XfWL{ZviR;b+f0M;IVDx3Z;*WW=t*Ev87nXJI+K?3z_V*h< z+35<)N`|vVE}~eJ>jL2@J5rl<>XwcVS&=3r7qP1bEv{aNppch_lDK*oIFSuk zG;~g=8YEnsjnySo4f=>A7sq2O77Ts0qTZ5r8H$QPwfup0@$>bDpRdBE$~CZZqpFTpX+)*Pjw<9L-!Ldj zLrJh+e?*K?cXQiXla*6(!ZE75L2f9Egi1wUfgM$Y#CFsW*uK^yQ!OiZ3}a}ga*uRr^?mJdlK>D1tO)@iFve;^00>NLnh*dYVF&>rl7eKwz5EaR>lWVh8~} z^(?{+mKp~EAUYXBK)@%4PaUTK_)Hl>K)`32aS#BX<%SRd0&|#-OF$qf<}>Xe06sDI zXhHx8Og)+qV1kwp4qMlvZBU6`+bAUNOY-Y6jcZ z4A@8kd3MrJk%szQcZ{w{oAX|>sG%yRdIE%HWGs$nVoqH30ukfbnaqB;E*Z->G1Ujc z8i#{u5)re%+E%62Z;XXPSQh6zOrRFjCuQrID_Is=-v#N_#Om#IKLqQwZJCwc1OQ3o zY8g-72g6TfMEKK+W9Kk=Bx|cwe_D}jxUwNs#fcrv;Y??{ksyamB^9Qf zWIf9~5b+>msqks&12x)9Is-1buDZyLM$vOQekRlKn2hC)fJg;k9OLZ}99 zei-6{(x<|vT-N$7j1~UFUd#|1lIylBayM%$=GvGVjAU{cpp$Abk^+H2+#?QS+Qkww zp3hS}kS8=3YS`-3*BT3m83%ZGoxgIFbu?U|HK`n?HZ-dqCi>c3C6veF3eA!%aS{rO zlGF>Cyp8g+o>Na0c%Ak;<~Y+4sGpNV^AX)NRZc9<>}BbyFNDoKA_+eVHJ)34(Y_yBnE=v z6z7f$Sx$K*6^VEA)}!u~C=}MD?rO2C-ABdl>OMm|J(*qX2n0e9vxIfmdO^MuFPqcL zQLVg$935*9+B%k_wHG%FDm{gPmU_%CWTuj7ZWYaZFPh~N%@*`>ta!ot?{EOEmPPIb zaMue(v^MhW_29AC6#llZBDMs5FoYFSG!w&Os1MxHosn;LXKNA^%Z7~s&x)Zwd*Yuo z5MvQAy+s|Ljg0;7I$qwY~wv{boR;ChLQ3P>=eY z)S?Z-*70ZyOoJ(VNnf;N(#hCPy}bkqA1aDv_DN4e9JwuF6vxzbSS1aE5~B6j*0JFu zWs&p@(3!4r52=|DfwzLCwuX_=BmOh%DiUodOT6BF!!Mfd$7yTaKBgbr76uquw}iQ5 z>CYvL9aq~h$x47(1SKAjr1R^T*SI~Av0#7Lm{d~|$Iihxrg=e25?mG~mSFNip;D1d z|5Rk@br>sZvsHCVuLW4|+{IA>Ls+u5nJ#I}ehu}BR*7E4L^*!$%CuRpVV&Cq0CSs7 zmW9`M!6;ahsQ0L(vt%yP&6GOV(k_bSX2WB>qpQ+RZ`UeVT)VRmMXZaF4*FDKI$Y-I zBoRMG!Wy)v9jkYi^hO$(k#}*HAem5hc5V*h$2N8%tnx?$cAwI~(y2=l=+$gdwLJ{D zAaF9fc3qcLL^r0Ba?tY~-SZP_2RPSPc>|y>z*Tx3ZsR1Ozp}a@yU2IgdKfkYX_L`6 zK?pRlSJQlSqNn{$eTJDI%$|DKU%kpT$WMp*`D6N@JnWHtcAr(tz?~2jG4zI&U4;Thbpd0k7z*gERIo8O%j5}LVE{y9Yn`2L&AL#R4GTT& zoAp9Z00`_mH6Z{576F69PbBU8M;DX5kA5bQSF& z07Qc!1c1QeO8XE1B5Mc%fw%@52LbRo$PfYoKCx=jaSDJ>te`X@Am9_rDeWKtKCu?k zga8o34Iv;96vLMGDInm0Rg!iPfGDtB(u4pISO95400=CFG$8=QSVIT^fz^@rApisx zNSY7;0xKm=2ngf{%O33@06wwG(S!gH6Ad8%1Ui}aAppc=LkIwY1%UP;0K^nS2mpa8 zO#2W3VhckE2xJg5koGA6J~10Vum3E1mZ$R*FFWnC%V5T1c2Du5CTAK zV+a8tFo^3Q0zhC&(1d_MY8YO%g8=x%K&}Y^ATaW3LI4PivYHS8Vh2MA0D(bI`w##E z|z`QAc|cLAppc~h7bT^cS8sW#I=WU5CETh8bSbwy$m4$#9TuN z0I|0r1Oy_VXB-5;=RSrI0AgQ52mrC4Ap`{C+TS<`fY14c5CGx;LkIw|zz_lgaUEzJ z1idZ+exSGqMt8n{)oZ<|lGN#ZWlIbL(@{TZ&ZF7Y2QOhF?bPU<^m@|yNqxBia4BN%Q z*dl$Jp0TUyE9?J+a}C?dBJb7AyE#9=xkx#dRyY^Ife5Np4n)ui^?`_X5?#U85_VUH z&EU8Qm7PTSlPtfMPDk^}3E>nwrsl%A*oo!NVBN+QG~Q7sX$;+V)F~Q6iyd{E#)#fg zD}b+(#gdM6=v_{I`QWI98n(Kbw9&3iyGW-^>GZK)+E}Y9bbCqr1RZaV@gAq~65{27 zG#Gg3a}G}iUDHnlfIvV!L<#`0*bo9hAUf?s0Eoj3AppeTh7bVa2tx<}aik#xfH=w! z0zfnxLI8-P4I#kvXgD+(2LT|K8bSbwV+U{0zj-Vga8m{ z7(xJuGYugikmIwAg8=wE+YkakoMQ+9AkH;}01)RHLI8;K4Iu!;1%?m+;zC0R0I|{# z0zh132mv52HiUpc5iT(f0^svfLkIwInIQy#xZDr|KwM!60U)k4gn&S5R~ZKZ@OiZ% z1c1245CTA4YX|`#t}}!H5Z4<*Kp?dnjDrC9ywMN>K>WoJ0zlkk2mv5&HiQ5Ww-`bI zh+7RIAdviR#z6pl-fjp1Anq`P01$T?LI8-n3?U#8`Q64r0DP`8ga8ot7(xJu)rJrN z;$A}t0CAro1O!sM-#7?>&j$=40K{JnAppdKh7bVaAwviVMEga8oF7(xJuXAL31l7cn@A!c!9FHu<#<|su>)&@O;;*!Ti?pjsnk|PscJqpLm<&-iRv0(jste z;RA@t+&-Afiem0c_;=FpgNo@33m(1$d_IN>6T@1Z_+OP~44%Jd;IFH>8=)$VzxU~{ zw%UCk&Mo|Z3?ibs!CyA!{s5sN>V^}@^S;QB+7CuVb%$$lnVsGrQYI5~OW>Yo=YwrO zEKYx&OqZD3fG`CS_ih#O9ul!(JC3+-tFWg^Si^Q4wvL&~L=^3kN*sT6O{5|hl}BUl zO^78GmAXtts&?k7U}D9Bp&vxlCJeK^w$%YBbGg%y!CBG*!dT3G5FyKA=>s9UuK>%v z0}uy+koe&DVBqX?>q^U<^_A7o7=3_d*^SgH_YH({zk#7|D}>#BlB{Q(hdVAFqAse4 zRixjAP#(7%sd*{yLP{|fQsoIqa$Q00q{LDQbp#em>0t`Wf4kI@zmfJ4x7yx)g}8M!bRJ$h)cJ@SfDD-9>~TfrINQ6H za1aRXMeZXc^9tU8V6D1Hk#v#bxO9=2RB2qgh`}wpNY=#As*A+kmR)3!@z+iliMz`r zmm^F;vLz8kK^=nDL~l72&XSvm8V0(gESz2lmrMpZm5_#2VCC$*A3%B$j9@1lg|Ow( zvZ(H5*|@6}+NV3#Xgs)T8CrKGpYAyHxYnU{5BKSgLbuS~8~p}teLW=X{wi)mkd#0t z?rAghQ?%L9mv2g_%{*KdZI1ECmM5{tQ=7Rb3+il5vC-yuD{VfME}k~W&7Ba-KIx>q z{+2<1d$g&)s}Wd_*%37!NfzpFL`?*b;r%Ikl}l!M-JJrbR=OL|>@AFIUN4LM6tcJ| zrlX6QM1S;CXwhkyFX=SJIjk|!_NgegXh5lGOr0Wjej3=)q*NN2iQ8VC2(xiS< z29CZZ-&z_M9{Z75)cEW)-Fuo#AbYgugGgeqmj;-*!8$Z05H_h(58 zwFOr|;II*LP z`K_5B@AAsA8{FGhjy;U)A5#uy!c&gFpb@lkV55QNh$(C*VCR)%FOy~)%5kaqji|lh z$5##tEtCVB3TgG7=z#r$2)j_Y+7ou5fZc$&>__2xPnb^uYkRo(n$oF2Q?jMh1{SMO zQ<}tWAG#6#DVlNtB5GSxKBJ4TDLnVFtOG(Pf0Ngf{h%kkHmD~TBfptMMA2S>fuw&Y z)ARGXat_?u*Ol{(>+jYTFVzLPLoo*xYpFb1S?-KR|Fu%llyebA;MkaEO0gCf0~Yw% zjOQLftJQk$3R@Tvjzq5HdasMP6}BzHHiA{yp@`5#0hfjB?GIfx4dpdZT zsY`vu`U8l8$?OW_`akHPq`DxtMC%|Wt%Da*>wF!=yiXkr-ijEKGF>H}dkM`*9i+Q@ z%o9$afK8;hoJ0ZpMG;P+fUThjr%`y;6IM`o-V@G*p!E<_7tWwt>){^M!@t8x>)~1; z>f!rh=k@R^MAM!gekgt;>N=+Tu?TVXso1_!rV5nuL=-))4&Ml+d=Ne(>KerEz7P1P zC}p^;J*C`(E&-*~I{8HCg5B~u`DDnl`fN}q??R5LleDRm*CXcE3#^;q*8aG7i*fxQ zbW&1Xki*uA<02)|$%X;GLh4ztJf3?MZAHy{1-3e}m4*y`Dfch%T0QP=fwC<1217CWxbP+?xfEhtZxB|DlIyLO@9=Mkkl z1`rD8{NeM9-4IdR^WrMH1co4QUVI_6a(^=hMXUocn_wo_&%helO7h&4D0egrJO$*@ zPEkX)EF>p8#ZC^Rty7EBFNDRFTTkGr4(A0&H37l%!LYK=;%FxnJlZk$fNjjiV|TT% z1>!xZxOEA}!c8{VPYy)Y8BJ|#FL5y3+aCuP8rO~NBkgQ7nF((%fdg%CFL5&v_Y${? zo$ot~Oqzv#N8K)dBMPUh`Mm^%7JG?1#g{+eRTK<(zll~cSA|=FS(Vhd#dIU|w*m!2 z+yc0^HN-tg-W%fd9M(Uy`*C`FE5|!J7d zErnjxIk9;9J>&}4JCC8BjIA-Zg+o|9S_bwH7o$}>>msa=lqdBOMdkVs{!buLCZB}Q*iz9)n z)Qki7r&VvJ`A#qv6SlVw%Y)}&=xiJ}#)DaSI~W+3cfIU)_JT*zJ%ir=(b9WpIL~&w zSOdoE`wF(Ti`8(v!RJ|-M-6`6>i%zydB6TN)Lnm$pK4!}%zM`|+s|a zq$C$Bc)#Fua8{zNY*wfw-*RHmD6}r@-yS+~r-QB1#c*};J zM(w3By{o;6!|EN#gw!s&JUq-6_b2hB8{TG9=?&dSMm~}JKL(;9DKj1i;L0yF!b5DgK z!@S+dU}5(MvNS5ZS9_CoBO~|Dp1WYSDbgp;u?#kJF%&vmDreB8F_nPSfY+DErZ<5R zOe)pQOR88_&G|g!=%A+*{mu&CFgfmQ{f-{Xft*i4|! zt@8?9biL%?^WN1u;e&j=U~SI(U9I$aqx2xxm-&jS9<)$Jy~M_wIk5evhQ>7Do!)$& zs(Q3vH4EV8(r_x`QZ-nSv1+`dELIIK;mb)DUZ~>>(h*N-@Pc%tZLL|3`1ImE+DdKS zqKj8OQD1NNuul0bUq4quZwCHv^%E?0*PiW{`XIQuG)zD77LNHkI}wigg=3yyOI{ZM z+4uE+hm&;vaqr+Y)SkRrD*(jnh7bVa4MPY3@undJfOyLg0zkZN2mv78F@yjRIOo*K z3IKuQQ%wi}vBnSrK;Sq_`w#$PogoC6D-&?QftU6v0K^A|5CGysLkI{2{m3{7fX|N& zAt2!M6XPHNK0h^tfPhb&$m#3|fX~kiApiu9VzdtdAU-#Q01*E)gn&TgUl<1g@cE@7 z1c3O;5CTk4Sp)nPI>A4=r<>cA-P2Z|VXdsUces%GIRw7HOHys2J$ymDrN&-A8HSx1g>5|-Px`f1L|`p$vmV^h9!4rPvMG$(}j0;_EgB;dbicx+0)=+`U>CwHFsxuNB2Oa zGnnb{t|}IHyf4~~>1ipq0u=V@XTU0I*aX|}Gl7s|*SLxxZM_~Z#-g2)yu}1RXEC1F z^cEePZ}0YnqhDXreb&aVe8>)ZpZ-VRLxx7+JVvXV01%k_G$8=QFNP2R;#Wfm0I}W> z0?xP74SoS*TEIKe1Hf@!veW&6a2-}YyTWU+QG8`ZztK+s0!KZX5C9@(2mv5)2&8=o z0D;pbO$Y#i-KQo5fG9GA01(B75P)2d3g(&uay`P&^{`gC##M8jfB?i-Y6t-!a2H(r z5CEdHAq0R(8A1RET)Wai1b`?vga8n@R;7Ii0MW$|0zlwGmG&V3<(eKW7X_4SnqRJ| zt;$tpf(t-=xZI=T69A&CAq0TH)hz8p0Eikx2msOD5CTB-FoXaQJq;lML@z@K0MXkJ z0zmXJga8nI4IuzTKSKxrv56rBfT%Tu01$PC5CEdTAq0%H(+f~x;dBkVx-X5#zM}q3 z?I!1S;%n)R*f+_Gnl}Kfcka!Nc1i9a)> zQy3S{6~qzZ%wUCJoaH#T6!s8|x1Fr?*%&2phso{N3y(Qv*L)6`q_^`6M{wh54>%P? z{e5$BPjkkz1P<7B<505NJyLMjPB;&ph>1^L!{kYi=4)a+)mbindf*Vf8EMpyO`i)3 zd&~5-!8|(k=D&ft>*3Hmp2a+@#f{A~5R<;L(=>suQm!!HjgfC`R3gsn5ET0aI^#nFN2F|!%hNVvgJ9z>$*&2io!^EBRy>Qf*3XkGB z23By^Fr=Nkuk|^`U(ny2Mw+e8F_0>1H<|6?xvob3e%~p_{eR??gE`vRQw~8ZSgx8vX9K)WDBdu(VP|O3(+1pRd|J(awt>; z2TBjZLAO&v3v~^#uzDD59p3Upv~EdnobH)U-VcJDcRvar?CDd5=&DnwRx6PLJNhir z(y`T*@Tr~C7r}Kgh8lcyAgmaJPPs%2yqv^4m4_m%x&+wK>T;>TBgtMyh?h-~uiiKv zvvyUN7cf_lsZv+MN?!#7FTvxf+|@wp8al;z7l|2ok{NhFa`%*9pM9ciz(@-zrd7h!<8V_O_0_VN9pSd)7XG2#61 z1;+jkjABRK42Q*NGkjAcj@!q71&cs|uWPi`4i`wZS2^kygl0QjEd-Xp?A0wVt*|{_ zqjSDJ;^nb*ljO0$tq8wFQct83nTj}$@tFgh#oq=O`s?bxg}``bkOd*%xk<%yF105W zs}H4lmfRF7JvCH}t^<5eDEWxSmUUyOaT9ye2$YRy@2D((+X1>6!r|uah%Gs~8Jwf; z04~BJ9V`E&R*8c=sTlS_VEy@~Brd~@Iaaq5it5oYF7Af=`0v~$KvPv3Hi^3&b^^ZH zV)&q$x)XLhq3(j^sNOKgF5%}*@HGs_`?P`gjhQ0r>`V0-IKREXGK@qS@STOb5lFp) zx&mHB{2Foogjc-L*o;HZS)rY#XO_o@lj@O@qw5|QD(O!A5 zW|+cpgP;5o0Ai{k1c2DW5CT9^jhLafYqZguomII z7u#5C6w}K((wgV~BL#t+FUCogjPZx@0_qiC?rwf6c?|2i4a6V@y8?TTdgeqnTIft{E@G z;S99;Z-_eE&+gTzo&u^ITIpVlin84YVCtuFa%I}aC+YMkP}DFZCIu^YtNP+S3jMU* ztpOJQ_~=wO@99z>IJOuLqzvT|2d{AOYFE-6H{9Cdkyk-pdYQO&YdT&Tr&>E+oPXYR zILbK2FJm@rW7Ov>G)cTCg!z{pt_T;bz;sj3K*)5DdD63#N}X7hdJag&%=)0uY)#N- zwnV$dq_p);Ob6KDQ<6E*YyT<9_7uF&r|v+7r%uHzKx-_@(DL0R|0at}<@%D%->I_3 zK|j;hcL(TDWS;Vu>QAn=e8Nv3#oj?w@YAbpU1Q$|6;i8Tbjm+Os&)DLMl49oMhnIB z1Wuq?Tz5Cn?h+W@lN}Z{?7mNyMnyt@w3S!QStHPj*V)xD3by{JCqG`b9&V`auIRkM z_v{y!nuh&Nv^0|b z5D9ZWKx5;BjEW~9rRMXicmTt*5hG`UA8LHre1CNz+I7=Evt4zI|Ih7;GF4LPi`-BB zvgS%TC^{-i3s25y;rT>@c3c&~LaVZs5HS_3C&Usp(Izu#&J|X!?bYe4~Zy@{Q)d|MR_d!qNFQ+XZbl{?BZ)Kdt}d+su3Ar$zhxkHaThEnh#I zqkh`$Tj#*hrGY6`52oI8uzdJiSie`G0b6yJP=CMP(N(;@^0~FsL^C%2&U*q_yX}bK zK^CY2KZVF63 z9`hafcnpF(9)qohYY$%#kJR`p;?Wxai+C(?Ol?ZbQRB7CkFe6+Fodazn)ul#CIj*N zFkx#Z^mYQq1wP~I&4cLN^B5PA+ZSLJHB`scivT#l;}qgO<$4K>_mt~{7RyfcGF;5} z;wr68#+tR|AN|H{*m@KBoQQnp9^iSLth@UlN7$82MJLQP0^@L}R#W(3TMH`vAMlRs zE}Cw_F}1s^I+T-0>4phjAmOe!Kk&1da#&d+xBs1y$3 zA2dgHYAM_kRXdj?;wu&my&#H~eepnS)L_^|=vZb{BJ~m_2E_529r{ zS?eoDBD_?9Ed6!!q2nEFI-UR!hZsTt2&@D3U?%{CGK2sSiwq$E#G!@|;P+;I9*+Hr zHJNpdFV}8RufA(ruUwJHv%6|UWiGRZi#HOjR)%f&Shx^pA6Gt2Lu3Zkym z%MT%BdL`7czGj!<9EB1-%nDNuX?%5fIsc>;adYe#j5Wm+q_KhCI40djZ*1K^k~#En zezp27T8?^~R;79eR2B0eqLHRr16e~CpJ`mA))RWI3K8HM&ZTJ-Ou%R*U z)V6Bb$%$^RMxk2P!P8zHI8FBj>HyC`P#=x7qz<&a-oe+L_3cX;TlMYm8B}!fFgHxyI(mZ($_WIG-tsq(4P#DcmVas?B^FA3MgSA{M9zdaxktYz%?0JvK#alPaL+!V+LMk*WYTN1O#F(EVa4D^N6Qv%{kG z#Is;Tmh6dWvD~P}(Oiz~boz*^CB!p{vEb%iXeqaN>!7KiKj$j9`AI6r^*c1QtG!&X#SZbFp|eP93H*qpk2aN_gYcL3liq)$bH- z$@)%j&&X^ZG~h^Cl;$5Oo7DHih_Wb5CtPn}r54+@*`hl4bMU!cA>$2$97eZfNjTFp zSj{OslVj!P{s~9*1q|M+<$deppv%*l?vmZ18JTde?)ZfF9vapFQeQGQ$+?2a?WLV@ z`(CsZk2)sfJCKOJ_gT=IVT{9*&(U(3kU9;(R0zfP?gaCBI zFOhfd?}W5>aozv@Ehg=Ds>jGQ42E}<%Vfju z^<-(7U&O(!WoFL1mfZ)7>Q>jXS0Z73E&F01?p^e0UqoF2*-76C6CWD%lYGV`S*|Z4 z=Us+1_~#cXTtwDqeOpb?=eNF|SLyhABWbLQvNayKIDxPN{PEgU3X zCw5fb0NZc8zHGN(E1ZtHZsQC}E5T=QbZG>CM~Yft&hs&Cv~`|;K9Y3OcfbrLRh02` z%sbA{H~0d&c&EGi8IWaNY8~Gve@-|Y^@{b^pV8i{kytx*SnGZTNAtT}w@U>^)J>NePZg>KTiLKE4xer8J7=RRo^Ku3HD90D zz-;7iakV#|`2A;N>oced4FlV+q~&mPX_%46JNL{N??yQ0&pq>eY>;1Uj+=Vi_+!7t zwF1h{>8D8mW{WcnAppdgh7bS(lei8d0L0mb5C8(xy7nOe1m<;32*4DC{TEMP8qYHh z0s;=_8wUaKd4VAW1bkj-90b7UN<#<;_`JwC2!PLv4Iu!;C58|X2zse;5CET-8A1Sv z%MBsG1eG%ZuA$`lzCOD=3*E~f{5<3cuIXQdOzpu3o#u}bI)}njY^D`1WtoS!9`F*W#0Kzi9c}I`` z2f{mgZ1wwEn7DbbfVvp`eJ#|;6{bc6fVk2S0zh142mv6jHiQ5W*BC+oh-(cY0K|2M z5CGzOLkKVpQI10s>{sM3_aEfB`FZ$TN+bO@)RIO|`RHjMJ>#Qiee@gyTv@Kb(-vmgkOzg+-;Xj`|)FHa5#)>2Gw;vvpqV+~WvV>+Zm=eYZgTyu>1P zkHD3L_X@n6@P2_e68@F2QawbgNZ59qlxF-NqS5gpS}M0}OGFro(-q+q6cw4;dl;%{L@fhjN0+8ySI z@6vV{QJ{U>jK~`!Th~2L2fTPcWkEWs`!?e>gY9n&t!Ii2M$~^e{020oMI&;n+F?Wi zmAkZ~h`2}VFrq-+cbFsYV>*l|Q1@*{)K1;=lARatw=76Ubsru95A9W1KRW8V-(W8%F!pJXs3B5avhAU=Q*2~5Ozq=#*icFD{!6!+NL5Qq&4to*IuHuO?Bhs25A_|8tfk)psI|IJ((g8NKRCtv9vRCwv1R#++z}(qNmaY0Ou0+o z$=25u2mtZ2Aq0SU#Sj8OylMymAYL8=KEP`GG@xH^5d=a+5XZ0H?o2V)aYC_ZDos zKAdsf1*5D*^>%M7f)7dkm+tb6Z6eAn=R>;R+hIg|2y%e;(vCrZbc{)KbKHv|@Z*U| zUgW>t2qxMv-ph+vJ0Y&^QGecVwecMZez%dQJGTSlcW%8`ARP2@3=-_>o^=qU^!Lb> zeo096hMaw+#YHpIX4TfPnYym7$`{a@A5@-Bry0KtzP$LH40|b|8QL z+q`eU2Xx&1O6+PkHkxu*w~yG}+|9(Uad!~AyQ{?R;hsvnc@5hLo#|8BJjN6N;_rqK z0OB)42mtX9LkIxzxgi9A_@^NRfcU}?0ziCe2mv6zGK2sSUmHRIh<_PE0EmAZLI8+w z3?Tr-{~1C6bw6Uw$9{eXwsX2Fg5#cawU|Yyb6&A=SE6>b-s}qLS|g2ZM&*N8O^;aXU@HdqGNlKzDhcUwuTFP!}M> z>J#EB8SX)`3^EJwR$%%oxM9LWB=Qm6PRKq!{{n~3K=&hv(-qWG)?p+%PqknQXh&^mVcLV&w#53R8CL>ERObz}gB%6BRkH z=TqQS^gKJjC0=?Nf(2`ZcL8+0K$C!4h4=dj!V@pOymfdgrYL}DVmZR=`7&&Q<(!_9 zUs8uIF!Oby$Ei)(ogHZg z3DPjLK*KYm11ib**&1H_qMC?I1|NwG?raQkcT@$nbx3b_S5WS-P5Ja6^IS6B1$?>^ zhF$~W%N+6!WD{pi+vTZS(>H|adsuszHNQ2prT`HCF@yjR-x)%HzVCz`4Sz=z{kR+A zk*-3(cj&6*9l8vjjDL@SafPc1`B$kwMuTx)J`Uk`k?=hk442bngc)QneE^LvUy`{W zV7>D^6gF3d^3*odC0&OHaYc4ahM|V6y%aCU2fe>Q@73a+F6sX8UTnwps8vy7yJJvQ z?x`>m{+Oko4_ns4g;oW}Ddz7yXgOgwasiQbq#3Kxfa_TS#nr z%{Q{B^Li~_Wi4E;_mDGe`Qh9qW-;HkKbV#ifTsMfAq0T<(GUVa{A36LAbvK401&?z zLI8+g4Iu!;dP4{R@tYw8fWR|Qy$%%sB4h{wAZ$Yj5S>8=EGQFnZWGjOCZX*W+34C& z;FA6tLu1m$2sIF{>DyrxQL3kO2aIA$8A^A;D4~RgcG7pj!24Jd>52uX%|qq7Kcmg; zbRC_0qY>~G_EgmEx)~OWeb^?^wJw)N*hBNRmesW4>ONXJka~bPp&ry!8u6%yHD=b; zqr|v7^MdAvG6(Upxb%T+aam%0ml8C0D$(Fn<*>_4s>ij*;T!b$r1m&+gC3vK9!GD` z<1^ah*bRDo4j%CaVPJujdkGYl+3GDi;YVyTb*Wf+va-CWp-U>6D!Qn=*iIEo-%J(Z z)6qq#qEr$W*FVPk0$p`B>RUcmpDOYDYH)qQR_8ynzQDnb8Pvi?djz1ruutb;<922$ z{V$nR$D>64z%wm}^*io~tA4QDnm_T0RCa(gZ`Uyh_0Fg9=01!on5CEds5CTAy7(zhnF?%wK zE@L)9%P|`tRc&v~#`%VYE3N2%QxL41d}_QlGsI4B!RQ9KMdR6N=!Tobfp=)+V<-Ac z1C6NpqcYuf5IGabbh6Vk5QINz$tj>NmxZ5Nd}Iz8QE0BD>MMjqtTxe@DXKb+wm9xs?1_WF93wiv;WZ z1FQt_>jIdVc83S`5kxL|xo^^C)g??!KneN0B~U_BzPWP?%2#PJD*(B#GK2sS)rJrN zJ&9T;qC9AyK-=u!qC5w*D9?c%mq+pQ2>SJ;F7h@KhI#xN0b8%d%QhUhW41ev<>P~? zRLpNdQ@%xu3d+~jSI`~HC!hK;NQ8HSJMq;tZ0A@3{`+TNpzv5>U(H1MG#X9rsjn$J(rm4} z-Avg9pebt%Apk^oLkIwY&r0j1lK>Ds4IuyoJ~*v?2msOB5CTB-F@yjReGMT1L_b3a zV4FlOY&oob{rbsmhT6b-XEEAE)eA;HIn1<@${6YhQtUcvprMW;#r~rP8|r9MT#Bio zLZz1y57)RE7+=|0U%4rUS$Qv0jnpp3!bN_@m2-z)D~;AJ#}~Sc)h;I#x@-!UmgA=^ zUGRfaa0u#^3{mf}jd}AX-+@gV|N5(L;~Dt)D{|Dt3eJ!5o0wV^fNI7ke|1v{08wWM z0U&VkT>B6J0#_L|AppbxLkIwY3y#`{01&vXt_cAkaP3hO0zhO9Apis}Luwxabo-tn3T)I2ibS>Q6Be;N+xeBD91*6^)_NpU8siSLDFrKeK-2JF81D2JMeJmgf@r zZbeijvpkK}I_SKwa>ZNvn$hgfnZE`M$nT zEv{u{7p_%M2eMYVnpGc$5bSZ>v`=7F@+rALlAHe4##&{F$%_ClFMGp2phaG8>?kh^ zi@A+hs~p69eTHiQ`GElGn7p-Kt1QHaW|6mSv2EvW#f;iSNptn5;G45_E4TFtTd#d{ zc=Oe1BB`D9JzCsDwiciq_-s*nHr7*E&hjYQNpA-s>ZIqu;_=7;XiNQpwwz=|yjR^6 zACFd~SHVA>c$noo@%gCdbd)WpcfJ$9dn0E^IwbcJQGTCRp2bPjHDSe{Thfo^@Wrv$ zAmG(HA(OV8FNSLQ?e(dk$6XrKnai%1H-WP7|NWJ&f(#>^2v7blD6kp}@zk#_D zt-udw@w1D!3GRxozjSj~5vQA}|5u_eqxGeH29|DM)j(&5qiW?@m;ewX3?TpnK4+nQ z2mmq45CXVvWPjy)9L;tg>eYP@Y3efqd);37MfwA6E1OxQuZFXZz)n91tZ@ILpc8bN zL}kOxCchIPZKG>gH_F*nU|l@gWL5xjKgJLOK#Vnn01)F0A%NvO4Qb5P<$ILnn~hAE z@*S2h-{bl6p&(CE@)yfbQEGRwY^ND-LVYYt%)-U;GM0K5+$qX;F;nIxOA6Lgo0jCgn)&g%7w$=8F7ZgB$U>frn8WmSV;Dv{Yw0W5L z8m1#p@=gQ$AxIkQ*(9ENrQ+@wida|h9Pm1L&RxotLrk4ZE3VF`l~5Pb!WrL1v~_&x z3H-R~B_PU?USPAX&&lv}E_6z!k~k+zmKRl)7vr3)C{=tBPQ!2pCi|^ooRbx&ic>{A zCtHhkiUpN?3t4xU1hR$IFv{>AXg&&j2X;ffmX|(+`jzwb2LaYQFY~}0J0F~{(?!12 zULMVDr*qAS)dXUEB5ac8-Y2&?aZF966<5<}CDe57;d6K>FD)w#F4t$$3AM4c_VNY2 zbSmp)PCPq%C!U@C6VF-N<5x^?xs4$NfS6?n0U)+Dga9)yaP5P}`36OB-|`!$#k}wX+&Wkg zF{qvXR?P2UDqM&u7#l*Hqp0)kw#SAx=7rfNvjUL&?F=CR#2iBikhR=V=qkAQ!t(r# zjJR1OYUY7`^Yg&3aBHJHW}ahEwHyPZo&F8bEcNlMNJlFwzK$!t`79JK%?1WMGw$!V zU%_~{y~(iv6k!KL2mrC8Aq0Tf$q)iS>}&`DGVVLpWv~y{YrDg9ZWV{ln7Wx(T-{15p>C&z0r*bZI(Bt8Fg`ktpQntg zH-YVRKO|b7C`;(4v6wQLi;a0=v-T=x-cEOcfA_vXj!preJ4`1^M|BW!OdUcit`x0= zI#he;!_-R3N`f;-j!ww<64?BLD4!?21Kc{Z97C9Z=_#eQ`#F`4@ARZf%_I<<1MWa& z@n0Krz&=J11VA(PHG}{V`x!z&>oKxFtD(=-e5VPFkpq}X-LZme0Axfq!3?S#2-v9r z`rV1;qg#HAoQe3|{URGXM(%HNEC5BooT0Zj0ze#K2mv4#7(xJu0}UYnP0O`$BW!OE zGzb}Vn*!zDFF&9RVde|VZRQ3BwbR4I93kc?nCkd8c0#LJaK4(6A56^Lu>bxAW641# z&jL`0gAE}7#36UvKh<6#opZ_1w`-Zg=zCHD)y7u@y zTr|(;4dZbt_cnYmZ%;_xXfj3GE%J7ZpQ7hz@+Llmd3(k8>GE}Zx65?qjou`0@3fsa z&JS_u(V@sw1SQP>?okvH+RXbUtx}5P5T*XDuu^nK?`M=y2zL$~^p~jQ*RzTu>R2R) zZ^6iKXBAgf=0>A=OG={&K3C-3>X$G<*1C@~+(U%1z%Osd)O}b;sK?01^$%~O=RGYU zl=wwr?;}h3-vzJcq4MA0R362hRQWw_zE2SN39nKk;oQg?Itm3^ z%Zy!vFk!dX40J;6yF6KjpXfw%^3^?kRb~*%qm?HCU#}yGO5;w6oO6_>VrmU4LMvJ- z?9M`5`n4~)cy64>p>lAi3|Gm}3u?fwL!inbJ+QXt?WOXfvLcT>IE{y}$uyoUBvY{p zwHE%6#XAtKRDbSb5VhDLoG*4veE?fh&n6H9C0sM-YbNR<@qwc+*yY9R;>i5F$o!gA zaXr`FPzmcx{7a!me#O5yF#j+%oCKAUvv>g@PBw%95T_VI0Ekl!Appc_h7bVabVCRL zvBD4nK%8L+0U*vagaFgo;Bc045CGzALkIwIjv)k?pnRssNytU9?QBWz3szC3`UF*0{dkFrK?U%$rHH(r{Rr{yKA2lDS$m z?cb$29rX{|arIAF<%xB(Q@HZLpQ>`y2m~8?FEY{_X^cIHzt@EOA@W>NX75-ksUI!M zFDXd@S1g!N4u37`A%%}9@^`CHSSvBea&Y$pH3mGwa`2vK$i|lyFZtB!LLYoagc9*C zA8(K&16e#H3a2kY=J3N&AHyOM&Ge7D;h7k+8erIt`V0W`K`uVwZjc%dPK|(}FFwi3U_<}DE?H6R zR7jPti78z6P2#t_QMsI98HthT!PvS#W|x6`*KRq0-i zBKJnES-DXt1Ya6^sTEW0Cbnwnr>i@pCDVKXqO3Ae?$pZh!l2`&tsGavv8xIBMN3Cy zX4uv(ldg6fTQbcTA%bcX!RnTdh~SHsO!LJ-@4IZ%GWII>yp~M!CBf_!&1&s^YAXiW zYsoZU8cgrnmX65Y+Llc7W$^A-WYxAU(rdmPj+o5(<{92?*6R#BQ%vQ)gjRAc$NYnJ z22IZ8v|G&Ovk;$IXNaSj%YDJDGgkUOU4E9xeFL(NQ0DTlkY1bX48HP~UuPV~y#3qD z+bfbcn#>z*btat58t6MeMbGhUIQl**n7nN^+myoPM~K|zkaZZz+c)sqX5RRIUOsQQ z!P>tG*FfL;K3#ry$sMvC^G0uyx9{4^8(%G~ ze^I_YehU0xsWS&5bzA8q?ldx}y97jjf#%3p zxnz~rw1zQzp}Agj8p(Kzwx+do^;T|8?@^GfOFCHVTKF%A>s!h604#TcY5A)Wzjn+7 zI~E^5Lqzy&G{RNY56s<(RGY5_<$FzreRw{;dj=EHj~gi zyYV)}9kv^9XA-xE*P=cI?YLMI;`7rQ z^UW^L2ad}ekDZSrA>lz#T9gg&TH-IbfYcti7Szc)paf8}Fh2yJ5I@ zpl#&a_(4)U7NLEQER~lF@r@%MXUuuhe7?-< z^GEAfo(_#GY=_O-E103>`H1qld=#~+Lloo?qY9jk?9je&;MCF7=EUE$tieqcJ zKmkyY_I2Q1Q_bz_fcPlT0kY}gc^$Y9vV3>n(}97x=h(UK2c6GQSRI41*5hN_IB9m! z0bin@2ZMgliwEXjCH-(K+9*ED!h1k8$O<`yJ+w>G}CS7(zfkE`740b&~Da#CrPLtEZO{2=#fx{i{tq%X{@tpRzTMr>`v?Wp2aQTiPg5zRr(fnZEbR^rkM;8&W2JVT3aM z&|#U{>^qDrzYOcJ&Y7NH=Z$Yc65SL4^?BP60zkZD2myuq#J$}Ym}8n*Hr<~?+p|A& z*(3`fFFX9EMqqm7ArHE;tW%^b7Zn^a*|NL|oHKbu{;JMoILOOQzwtu zn4>4WV9P~bTuz@#5`nWPBgoOycssCW^Ut8%a@2qhBk%XOI)UnjqU)uqEqS~zpkQp+JsH+7kYPn5->BIRhh+4#5dTKO58gbo@DhZC1+;qOAIrq=>sr=V zxWmpr$GWuVhoc>>yROvQYU;CT#~LH0cz^o)lMur! zntRn9Y&%w@JMk~|G`|>1=Eh+k&2+2*eQACtHIU7ce|&5S;v6lZE*VjRn1@t7n=ZB1 zZ~ZK8_-&0zKOEBeISBqstv7oz-FY?4!^=JB^Ry8(8^M=aE5x)X5m!#8`JajO|MaGd zQO5nYqIqD3wUlUJS>}nE=||i>OY`WhXpYPd9^hCjhY{a4X7GTd)!2{qydzp9Y27<= z9+ezVc^d0_2h(2#>h5Fa&ywfc$F*n3iwJ)~VOMtwTg$5Lb0SF?UjuBEx# zIGS;(w>_lZrq_SwI94C=^IxgMM38Gh z2=qesDD)Hjhl8|7w%By+7?Jq6=g@(aqCA0y^s`8%R*gu{Wa-wKJqvF0hEOWAa5@g@ zqQR89SQ)Ds(oe%F;TuoZmGB=QH5I$oYWx~K)9V3=ZlkSbkZ#`Qk!{9UUGYf{O7Dya zO`wF^ppYIJs3i;-kd_RhRL}dakWSB18pzX5NIQz#V4ed&+H)}7hH{kzsa|3kVI42h zr$gvAl5YXRt%peCtqVn(HI#1CteZr-MdF-k-7V6oBF(lQ73n3BcD7y?=@^M+7wa{V zR!i!8SZhS8mpJEHpNZ5}-1fKrEz;p49ccY1bv9PY?pnzZYiZTi%!_N4iS&|4P1XRB zy3VBAiPm_Lewjh(ENhNPBgO3!>p+ptucO;l*5M)@A<_-j@gm(T;cm0e(LP1G+qz7o zcSX7%;|}w(M5KqUdqnCwjd4C_y(H4$X%~$jW4*)~1U|1BNa;1}Gm$0?ru06Cc({!m zMCl_dCQ@8{eqt4i^u!Rl{T&-!`us)0ePMOCn<4cZLAS3l5{58@zte5?xK)t)i*&*$ zO5cmr*;={f>TzSNpFFp>CerOUYZ!cXwuTI+TQsDlzfPi55}GP*UreP`71~XtUu;V0 z(6J&l_MucCIuR0nd8meQ4h)?sZVSb22qbFxsl&(h#b>QTSJ>3##*yRtj)8QognOlS zT;ElYu9t9^z~>mWo|bMGX+r2$iRGg$ZomgbCWf%pM=VbbzhUSYNUJ2=$8Z~CO$yy7 z(%c!8ri308>E`Z~whp~4sjnVJX}i!GaSKm-bu&sINSr4Rq_kt`Gm)wWQQAASUZl^m zl;(v(VWxh~5K8-mA|kCBOzD77r!ZTkWCW#yL)Br{?*1ctOr%sJ()S~@)FaG#DT5ns ziiUcHSue%gXt&p| zhq>CA)o{@GN$62Kh%^S$0ik0$~I(z~HAMf#=R_n9%)n$R~QO&X=8?<8E)=k>Dy4Z2;)3^ z3Z)-Hn}~F-_zc_QA>o%p`~GwMDr`F^i`&x8=`-$0UrV@7_IBcSvACt|okjY)#8PJO zF47=ztF-qQ=|3WMwHJysU8HWdE7DwvvzxtGq_-70Pe+2cgIUt(Eg zPZKFEJ{Q}wMd~F!m)VDiR59%M^cd>|`$&=Ih;*WTbd)`{|7g0MWFHe{Z>)ox1*utl zPMV?JjumOv7L?Ai&x^9BzCV)Ex%MUEcCy5Ig?)ucM~HN#eYHqok*>0@6KQ{uuC{L! zX){l{IT}WsyJOuk#=6G7EgJ6A*_wbA{TS<7`wnr#>5Zu^OV+ba9XfZJ;Oses$P z_S1oU-fuq}kRG&O3`h^#uShsu_DAj4MdID%G1g=Dn*p~c?6(7MPulN_bbfdGe9B%E zwNZnIY(eQ+`{O{k7wsMLb^X3%I{t23K zaV@DJ{=agX7nJRfu*<~!p=2TOM`9Mn(300L@WKEHn2TIJxmY)fq_my7= zQ^&7!qWQxrt^luVK=ay<&Y{km&d;FIYvA+o)J+@d|0SvCjR_U3hr+aUNwpsxXM4E{ z`YbHbvE{e5ne(rtb&f4x-KOiYinp%G{(z3I}d{kQSV=>>8 zy4q3dZE@vOzW-o7|Imr8|5ORv_tkR7Ikt?rOj21c>F%F;4$RACtogg7R&~0C@dUL? zht=`un044-?G?tO+g;}>*mgQ>Vg3K!7&`V}n8RQmHjS|!+RI6y&%(5HxsEM=4e_++ zYV_fq4*cvZZJ}e>nAX2e+VM-#pL?WbcNhI(e$3eQ!xryj)XI-whR-u?jcIx`(<8t) zovBNU#oScJ3f-F9cBV!J$CHc8KLMjhk6;Ynr@jJzKsn9%$?swAQ9<*3(K?+%He&TIexO{O)6E{IQ&=F(cEe)niYaC8WV37!x_>m&yz7<_Z{7W7sg89 z^C&S3>qM7Jmo!+P{}df446Emww#NJ}NX2M)H{ilCKNy=C^LxVQva*izmlYG>$2Y^HC8Jr4o#7NO*CKE=RmmX z+GrVPu=av6F+ULVaxotjbK(U0Tr-vCLt@?{=1XGU zFXoM6J}2f%G1rc#|C=Y#JX6eL#k@?+8zjy>x1{S>G1FphC1y&(_8m^wxR^f=Bkm&j z;<3c@`q11)%qe2-40DK8IkpKkHd*?Jo~O!1Pv#V_N9*hHCpc#%rLOLYor+Lz%GmW$ zq6srdvGlK%ow`*Hu~hhs%9M4|^s|8*HoXZwC{jz!ITH0VyZM=!G&c{^JbWn4(`sne z*3smO+T^D&_1&dU-B!VIjA@0ezX|hr7vf^k>aCN+dOfL2^j((=z)Y-QPdOpQ5&ms3 zeXO~|F9DvM;0i~tqx1?&&#ih*rOU44*|C)ITvtN#%Lc>PEj$-jEl7S#0W^hJH|RbC6HAN~-(*1J~xOM}sRt;w~7!4dn9 z`=(dw?cLrU+OT(Ti5gx5c<021*8m63YcgX~8_Rm<>usiYJ>RgkhBGiAQFdZA&FMVKW}af&AagXwPjK&2+Lhye7|F~Ly|{&* zeCI)W?9cHZGvO9;oRoDv`7pV{kvTNcF2Ma7`-AySzm@UCNIhh~?y6+oCb;Z0p&yyjxlvN!$2iH{wryJ{#RPwK@F?o1ac8 z(@hIX#ixAp)6-J2`1{J5s7>LrY-+A{CYNPXYqeVnrkj@3UhS@eEdC6xi(1o`(@iV> zOc%YU=e5kDRuopdx7T!&LuG1@_R8W<3dgBEoI2g)(n)G-Q?n?Srl~dIvE$rOqe9QnLwh<}%cO_))I&{r zXivweNe>-psG9W9fsRv?9*XD$HR+*)iyjo>CkCXyBS-xp#|5=tM(k%>chDMT_vWV)yqYcgH_z@%kxriZ`v>@k z1NIy(wuJtc-7&jA&BaicP-;O*_5gZWt$Cm%yOjE4;7cg4UEl05-K%!y$f4PTXi68a zm1{;Fmpz1f%VT)t?Qz2>q$YdZFe+1%J#ILSRg*n#IGv<+LyPIAj6Xy7T3OK|i~o}6 zOttrhO*hBV1!`Xo%c5gxwi~J>Wzt*D^V_o=6pHvZha@^VMYkn?#qZ$^JKq=BUa3cM@H%Ci~w>v{X&@ zzsa;hP4>UZbf0JFeF{CIWm|duO`)gNUgz~Uh1RQ0yrP(q6SMN>{V}uRnV0n*A-|fe_Xr)KCfjZ~ zwNjI9x10*pr1z#x$J2)Snc#7FS3nlP;)v>&@wrbOsA98 z$yiRKOVnf;PAC4&RVeXVOl!sl5yM`-a~4 z4D&LJ_%~nCiY)Cc`kR_8?JW9UO_ug7`b|xi_AE-{KdFllcha} z0&23f=TMQFEbY1c?1a~fEbY0}S521oJQ}DbOM4!TQ2U*?`Sa;`wZpm1^J$8j%)|vW zT}@`<0y;}gX5vD+NKIzqLb}Q`%)~`BU&~}BE}|RMWF{`6Th(MHE~dNHWF{`A2i0UI zE}_+GG8323S~Z!8OQ}XpX5v!X>KS^!j9%9=IhtNZyVc}qdKrDJCUbT4z)JG4Y|=oU3uqPcXZnk>;=ez%}A!Amrc9#xYinn%xih9#O$FKU@A(R|vX zCQCG*b~LDYE$z}W*3ty$Rg>Nq(P%a4 zeG#3Y)+Kwoxq(hq>yw>DH_!~V?9%$|8|hrNwx!>&UFI1^wwPjCCL>!+m1;7w#dMRJ zjBE+rt|lW}LMzo|WH-^nYBI8$=qa`A(*4;t(>k@brKv4%rcIuq_ocL5%eJ=Ol)aSr z2S+gzyIXH(`#^2suua*w(5Gs54cpH4ceOEnH)SuQAJiuG-Oh#|zvcN{Z8v4#%Fi5n zZN6Z)vmNdkdS6a0wM^cjET^EFyhB+|9o6>pvfswvPT;k2#BhGPjQXj)HGI0cod&6W z&1JXKNVN_;FL%&*wE;XYchJdd)46N~ou+mbm#v_))z0Gm;ZC|(?F!x>?j-){PRz@Q zf=$_X(Y0#j1>4ycs}+qptmWObT|IG*rcLQl8q+;SyNQIo6tdufGQc3RJt_t7r3`F+DJ@2By7y*9Vn(JddK zHL&^VGP@5_LQQ7(L8?`gEvuSdQYQ6gS&7;&#ZG4|~zDKFE zn(4DC`!VXJmfL4LTS%=iuqk^r4OiXq?U5dnTRu*c)Dk_WvrSd|zVGm~CupXc z>sP>cIxg@GYwSt7Ld)v-nEWKoQQON`j!)7;HJRO~XsMda?o)K9n#}Igbf22c?$h+B zn#}Gq^o*L!?lbhFn#}IAv_(y3_gUJZCht4e&@MH3-?4`3)a1Ommg?2yyt$UXQIlDE zj(%2?S$d9Ke{UVh>^@J8)MR#_r>1JM#@11;nyj&PROlII=>l9f@Y}6>?Y_uHJRNSx=c-Gw}!4!li7WV zu2YlQeTi;XlUdq8cc{rMZJ>MAWac;0Dm9t;jr6pdoJBX$3uXPBie^r4o?EN!8`s>v*Ep}lHy?thtnRFiZ6%VY+4>qus>mi%fmgSB*on#|x< zYNaMKxRnajWCs62N2$pS{)M`$$qa6z{%SIV+h~ZI%;0t!r6x1DohGWu48B6AsL2ez zLT9MS48BU|sL2ezN|&n14DO()n#|x1s#KF1e2tc<$qc?mw|j;ee4XymGMT~G=^-_l z!Pn_YHCfs>=y^3++BayUnk?;3+NLH;yOZ8jlcjx=-dB^QeUm;_lcjx&zEYE=eT#lj zlcjx|epi#FeVfvc!5YJ;cTtvS=`!kFl&vPC-bFz*S-0;{k(#XAcc`nHtlQnxS54OK zZW^Q}^Z71~P?Pz5m&U8fe7;9h)MP&2qtgz&&Q5OmKAojjZ>O_e>={P=0bQkKGU^X# zzM72s1L9w0;(zngWo!MAZdH@5^+SrQ$r2^$K{Z*TBt5PsOH@Z|)ntk4=p{8-qK{~+ znk>;r^oE)&(Z}?znk>=BwCBL822ttMN+XB0kAR(f{JdMZyBlaYN+Q`KZ-pVOIYGO{n|0yP=g7c^T3hfD}4%RALV(5 zk$p#nS|%g=j*eE7k$p!!)%NqqzNcf<WH zS$jV{qPCi^%YUV()i(2W`LDEI?Owhv|BW`QJ!c`{#nhS@ddr-R0yp_uMr;(zn`Gn9obo#`;xvn_$;EmO^BLp>|ZySHVU$u9FO zCvSC2zX^@-Y)!$smW|9t{#GDqWmQ3K%f{x!F`jKKc&p`MrvEt4e#uR?JlwoDUTg`S zKjLpKk2KRKcxBV__P1p zmzwj`NYEH!pG@dbr6@ll#!a&5>&7l|I<2%;X%XS^5N9ThFky z9&0*jncOoz)^t~s**(?_P?H%PVTP#54303P)no=onu%&MgCotUo}q_P<_s;nxAzOJ zMj7vqY3HXu*?SAyrCRpHF)y?lZK7%~9_j*V;)kwIJ}GPNzX8rvF3R#i}MnVH5=4c^Ae3U+tg%<#+jXJvP9#|`)ccWn>gNl zqV@)F6UUpc)MVX`H{Ywtx*czRS6j}rJHez)^VZnIJi8N2mS-5*M8mg@`QQ9>nd^xr zpeA!Y(G;o47I}gxQIjq51k+dTwxUhhCz^q3tBba?jqnUTOfutP^6vV>R+CKbbm>pt zPk+|xBr_Mbg!=aTzSU%td76}YpO#HABVpd>M<<){YO;l#Y))2_QJ-S?JN^0Je0=hH ziaA?N=JQl@v6{^1spe|6XFHyp9WmFcZR~g&+hR32JC&Q|YI1feH&w9Bw7<=CGu3SI z%CLM>&8u2dw&bbiZ8aI^RFhPbaZWRzsmbh4GheHH&g10sliIgD&gsUU?k&+tKE6M1 zGStrS@%?#oq?(+=Pd7Pgat=S;v{jR3IKy;OlVv!=^iW&oY|acbKAI>o!smcCuj`>1Oj&pL+4-iKn#|exCSOhF>;ltHP3G(Z(;4Q?*@b3; zSB5#e(44F_WzH@%r>V)DU1-i$lk>_&=3+HDuUurVR+G;~FE-bz$>*XMo5gCfO3y_#HOUTJ<)lWWW?P1+1^=H*?;Rpu}?c^7h( z$ySr~aJ31j$$Gfj6sgI2h?){LSr1XuS4}<_jhTT5%J_59m>HpVdCJi_*O=qgDpPu~ zO;H=ucVNyOGhJ;`-!itd)ZVgVbLN_h)avbtY*%?kcLpLk^UT77c2>@ObGzDO0lv>} zcEG$Xv^n*! z9h%W0doQ;c|1Il*vKtGU@!zr@usho{R4eO=CD z=3$szHQ&ItO>0UItIb|D>EQ{}^h_Dqr$%~s%Jf!~9-c8%)TDzZ6D)t-Ztl`jC5Zz+}Rf(c{fO&iTO1R%=sW zaz8R1E|i+fXlPzm?#CwcBC#bjy59`*iMbKxz2p0<+2I+#63d5Anlfybnj94~Y)duye6x`as>$b@jci9XdHP&ZWB92?YjY!*iLIu^DujsmVMG~ zdhTKNBDKBUX0lz?pk|hxuVpgoEPI2Rj5^ESswOjWxV>9VX5w)Bpqi|eBkXE5Su01_ zwQ90fjuRN=v#6!Ro#tpx2-m{%6G!Pud)HdbOeT-l!f!g*chz2KvCh}Q?onG6d_A|weyO%LX#GX@JI}DR9W6hI z!T-Fa?PzzwmQbJYuH2(+$s8$@0(=`9nbfLOKfYk zQ~ADdiS3}4#>eumwu@RzK9+a2ebmn6*LAaDwR!xyZuVF;mwj?}cRNn)i0sqYCacN$ zp@*HOCg+D9c9vQlzYFPUFI4-6--YzFSE?=Lb4M>bPwjp_cl5G1sBQ0ha&~XKOzpj{ zr?K6w_8Pw{?_(cO`-tC__pz(h2v8@3O^Zl-TWxx7KP*LB`nku^5hma54b z8*GQG$r>AC$Ee8~8)7GUhTezT@`IK|L+#9iw#YxsUU<+N<(1j%584rVBkjGOrOP>d zj9sNB=kPK1X*F3#W9z~VI^KS$ChO>U`beZc3Hp4S4?L>RTLF0Q!Hs_!%@}FP}51NlA*`p5{KMiVo z9<)XNlWgdq`DltAe$e=-PCNFXE%KjiCwrDITh^&|nwo4`r`lO+vSmf=g=(^8MeLQH zVbtYz-a+I0J@$r!w#Yx#EVvk(f0}*rpz+^**yj%#-+!?i585LC z4ExGKJE_G?o3#-0$=5GAd9!R_k!M>1?efmHYt#z!O7hOLSvPuRIe7!~F1C@yp2=T4 z%(f>k5%aEJuC|ph@A@Tbm#E40OVr-3Cf6@9dykr2zr^grYH~ih#y+Vg=c8-vIyHIc zHpgyMlXq@&>~=M|w>HC2-hs?8oSCjMReEWl%oHyrNeq@UO zdB@LdZMtXtJlOcWYi*X=m%~nCYuTXY0vpt_8(Ng-EwDvuD_Wev)>Un0xIC}Y_Eoz$ zdNBHR)lA{n#_~aFhKKCRZ18@@}%TZE7$<}h)L@kp)*;;N}sLA`W+iYt!c|UfWm9GGm zV^60%e#XppQR|b(&zRXhYWw*<-yJrr*1Y37-yQZ?HF;mP!j4mu_f;$GWHovBa;Kf9 zChuPEw6i?JOx$HJgn93v@3Jp@MvwYdkF;n~exw$f(Z<(c8Kd+oxzJ-earV|n*kUzON0dN=%H-u8un*heYJK@V?8A1fntZ~z%1%;~ zPZ(F(scJpB>=8RtZ3LG+VlPm8vDMzZN9`4A+gg3kHdjsV(>`Vws>yxY$LuW!jE@DY z?VW0JELd&tSCi}H$L*tPa-ICReO7IG+v(;B`=Z*TZL{bJ`?A^^_iNshc8A(uoXvmI zzN7X5-{E=6)~WrS@9;cjKUdr0^Yb^zeWUiaZ=LUH`-|EM{U^74#=4aX&ue7<0&gQZ;cCgy^ z@O3$BY#iooXKU;#EpsiKam}@AqekcDueF=iN<)SD&)MB-6GENxpSNGAtr^)Zf1S;| z&+BhV>ltRfJyGqE0e$ilcAMG}dB^70*dJkD?;Grx`{i}s*0aH$s3u#_23xKsYkH%t zP?I&i(Vl<6cujAzm#fK|-el*f$(r75uUC^bz1c2RYr^k#x7ZbGIs9&Si@i@RZD^aE zm+d2J*+bj2J)$;StaBju9L3D8_>{;n9?KhcIm{c&PP^-X z74Wz3+Djkv#&YVYnfW_yr`3nX@}@2IEPY?<@U%DWFg4>Vpf~LpHF?hCEqkJxJm>M2 zEmxCgIo`GvYVs_{+xC35{k$#hvX`sLvm?9g95s19q)Q!ncTKhQWGriDFWXptk>!HqedGgR)*V*2l zrOUQdXG3bTE!EkPFzp^z0hJJTOYMm!K?EBYQt)4 zgLBzN!n|ep%q~1&ybXS4AADNIvV=0)T%Z4$-39ZG$@TUN&(a6;dat+Ns!iebUT^oS z$u{x1O?k#!BH1QBw^=Z+zb|amE5knag-SvmEq-S`lbD#Z8 zO+K~UXTMgH{=Tz6sY!p|S^J!~?6Q2{+YB{XzVGdkYH}?9!RDyRvHS?v-jn#@b88?7eulIl)Sllkx+NuO_d{bi-lZ>l(Y48@#Tu z+X0)K9_{`}eq;Bg+8aZkWXnoO4|Az|r?qThwJoVN`B`p?+WEt4@{e$rsEun|li$=W zSBrG0$#3r7R9l}?lb`MO!eVq;>)QNQZhQ^#zq#1^^W7Af_r5XTO;?lmjrr~@HF?+C z+Fhh3?^;{CtJGx90&c#VEPKG+s3z}dgYH%}c}E*`ahNwRZCv-4WGvnpp^fYB8J>b_ z;|8nASlYNzYSLeUo1iBB6}VH>WbbI}PFIt?qpdqfO^%9%?h-XQDi*pZ%o|HP*I~n< zv9xntJWH2n#oD>vYVxdDI~P`yd1>#;)MQ@TyK!pr+)M{|lA1g>)4@$slV@X!+?i_f zY)p~6P))AjJG$9was}VfEr5CBJj!+1cxaqQx!#`PNPCnEsmYP{C|9N?Pn&mgW7Xto z^G@z0wa@w4k)z#IH43z6J5w#Y^tJqAcY#{l(p_w`)#Uk*&Tg)nJRj28EmD(p)WzMR zChMq+yGu>hQHi@>P1aF~drVD^U|rp_YH|eY>Jn;l1ncHrR+A%GH}{&F9KE}{chuzQ z-Q9hp_EvCAeh>G#+TP$qwr|zsiTR%H7d3fezNbssB(v+ybuTw-%b~gM8GbQh}0I0w2Y%p2z**MIAwaSn2WJ;O11kQ=EcV;STos7afH-N|aw=3qAi z=CwJ*?e)rVj2z;A)SB`P))2>kAjJRXr^`Mz#QD|ax%;8+a5Z`EeyD4uCi61PwNaC? z40A`R$-E4A-PB}WhP(c1vOko$!D_NUl(|uAvOgT_CaB5&aI8B;P4M&#=Jhwm4SwZNe`DN8&#+yOapTowyB_0CR+Ik5y3^F8zp?IYHQE2h zxr^0g{~PD7R+Ihqcz3Ou?6=3e#cFb{8t;~?$+>F0yBFq-bAs#t>Y;H?aDzR={xHFf zRFnN-f}5ZwW0~kqR+F(zbf>GyGMwPfR+D8o!Cj&z+r)|PYBkv=PIL>@WM7%&7OTm= zGRdugdE-3Ejofi)oF}>Qo?(AD$xTs{{!VhIsmVAeyR+0}oRi(fYH}W%;;vGY^Vk%3 zt(rV_e6qVyO`bYF*)4~8V>!jOeeKX#PH~+)!@24d*IiBaqf^`fH91$E>V~Mvx$0Cm zT20PX5jRmy&Q%e2s+ydu%H0`ia;_?O=c>tHVoi0Is>xqsO?5FfIgd?qm1=Sxo91p( zlXW!R-L58cHr=gMlXY~Odst1@(P{1}HQ8@Zck9$-zdhY;Qj`7m47XiP_S-YuTWYf3 z&Tt>7$$mS-{Z&oQV-@c2YH}W{a6hWad2FWRKl9^%^V8)#Hq&Loy!CLVi|#zM9?oFt={$F;n%p;?@6J$@`=;~VxoUFX^jdeRn%ppVjb z*Sn3dW%Okrt@ZV;>ANzY%jl~%O%{$$O z1~u<=KQyQrcfU8N8F%SP>F-mt8F$U<4)wm$<^915VRI;Gc4Vw{-C^Fc-|IpRYToOH zYt1`oRNB36M1!*X-0@mgPg!)IyA0;Fa=)9`pyvH2@@D-IK2Ir-w%Nl*@+A;a?*fmG+c7!z<&@)%Y73+&OC9 z+VeLuxJ%VuZa2?7R9#Z?T z`8wYk_oSLUO~2MXuO?5^uXP*M+VK(kIk!!%7oT&Ub8o82-R$Sx`)YDG`+4`NXXt&M z`|1z&BWw=;%G;3E>s*h&9-5aITnOgP%M0$t24(BraxIhBt#@xWD0|T*8@%pCSN_?d zHWO|Z%`iD!%MD_nyiPHTvIh!4;x&rnyiNnu24;Uy+M2-sG|%ZOOS%ioCEwn0ApYY>va$@loRgJh z>0zFwe>Tp#HuBmoJa2{?#t)5pv9YF-)o=dm4iDBm#l>i=<6QuF^Z|2G4& z4IkJNWE(yZH=LRE*uQ#WPj8t2zxe-Vz?*?TAOF9^vB*0YG>m8BnC9jGbFsG_{<(!A zd>(Oheg`>gT-H*~8Y7R9-v*w{OruRBW!wI)j~qYO`lRL)OhdCf317*T{3;xQy_O|* zXeWig@mgB*TA0h@wig!F&TPoxKe{F>SGvo2j=^p=UdpxmBw!^#mdce?sG+v17 zmXCR>c6e=ywj&vfjQdZv+;Al0hx}*8*02Td_#k`MfxW}q$7SzM!QP#Uz1yez=D)q? zHr&S(-Q{}hmfq5`*UML!&#eO_F)9U1!Qbo8v7wXlWGzVE zP$@6FrNNkie>}o?*Vv9SdE_ayv8~kiWRo&PtJmJcuR3t;{cqRt zO8>X6!~eWz9lA1iG;g>p`=RUe0~zmC-r8@-zlEg!pWFO%#(Px})=t9~yv(2L|NqH& z`$aoG7dSm<$-6E7Sz}zY$yuyn{KxToM+u>&LY(g!w$|_%;oB!&&`T@d6zGy{jFG4gK4c+2CL3YQ@(*dX01-^Y7hL{?$kt=H=LBXe6!{Jf1RI zGKcZe-rxvt>HI>8ujP!T`&vuv9kHbyOP}Hx*s#t2zW8vQJO2CH|5q({<$DGH@iqRh zTKnJ1|HMa_f3_42k4xT_xpzjpC?NI!qw!7HPUN+YX7bjOLUYj0|JG9fU%&tJGa%<> zi~EyK?@#_YBUhCNu6w041@%)=-$#Ww3jO(2|5eL!4X!!8ZB=6a)ue!o!MmIKukwE$ z&wo{>!${fJu5T~Q2EB|I&&N^sU(vhr@%S9hEFOE}?rs9_{Ts&r{yA*;Dla~*g^aLa z{?D!bG9-h4jVR3DCpnP+51~vmhQH}wlZjsNp^ zp4&V4zn@Zi8#7Bv9A(YaapFd+Z<+mHQzbbrc3CX@eCZ8&FE_bX>U7n;j|PxssC*QqH= zb1B*DD_+*AWxsLeQJ*t@^UesrX=y&s^>OC%k&R82y(Fj5)Y3P(N10CiDra89YhR-o zZTfJ0NkJ)dT$`b$7UOx1zYl*D|K&xC@X01d@)zvV?+nhg4_{*HXnWUreEBKu)X{4l z=b3u6R%x#va4W|zbzQ;rYuifRH_AtKcEQmP@-zE4+lQHR?BixIf1AvDQ)llQy@@jy z+rRMd`=s=KpMM2MX2Y0duXO7-Q_J|etN;XB_-%*57Bxb&QMlbO3mmNQRpcemIj}TYko^qpc%<1Fmdi`>^bLP`}b<1kX?1&!z916rO({?_pA>DX+EPD8Xk7>x6u5QKv1o(ps9;YKreXv%k$$UoDLpIn#HUc{`VXcf?%B&yZYZmbc+2 zmds6~@9|ACiLzC`pexLK(pPD(;yDRA`PTDg0c+swpw>r}Xu-c!;loII&j;p7Re3it3Rp?r7ITFmWQ zv$^>-X_L%-Z7Mmlx%mxg{V}Vu7M@G1v=_8^k-4|+R_0G&w}RKx2II9OG1~DM?O?2z z!B{VsalibHYHm1xQd;T08gWPZ6x5f!{`K^Cyx7EtuJgTPYG2eDr=d0tq-(PPE z^O`b?%6wFB&gZ9@>dn+)5@&OUzg>s72Yz;k_nj*4#m9WSd8xnJ?F$U?$LOe>iT_lt5(d96@>nI)z7BL6J3d?A)-HkN1>mS`51 zXf8_U8rhQPqW8I`W8WDW3%UL^8B4kTOT0bH7PtbhU4bodDfqR$zi_y%ac}f^B%{V1 zJM^iHT6b-$zNxQqoAOOG7=!B`^7D7p6z1_?>zR_#8#5~HO{2FmNB7^6Ax8|^AG;Oo z%@}L9@e+--Ydaj)=rz~-m}ZUmZ`DTTH!87r^4~FEW*UXtHmbB&wCGRuB*)1~rcGY= zMzeMA`=$MGF8wrgT%&ur_xH^z@G0i2b}q)h4cZEiGjEPV>gyAI1D`|n4ME;9>{ zsc%$<<9V4~(C6nyU-R6iW^Tib{e<;WVwaRH&ODswXM(-Vtnc-4=6P5o2f7NoqhLqId%9(Q8fw<0g4=1|WDi={ z&&Pac)|%O^Zb&mJ>$4{|nSznjo5T3~$(rzW&nHbRZQ|eXwNy)En>FF5&VOvugr7k^ z^00JT=ZcvL*NwT+^=7{81~9j|fy^Cl7;~o^$$Sqrlc>1|H7P}2o01~0O;3^6W~Rt% zvr^=>>rk3N=^n(NA^s9I_oC)LuE`@z9m^b^dOCA|>eb8+zU9og?|J6Ez9jQO->=M7 zzUEm?Xtl3|`IK)YbB(Wpxz4wMneg4s+~`}!eA)LVbDQrg<_=%l;Z10#uLEor+LcG9Q&HOSGXH6dIdfs!O6H|$>zT9D zYMIfrUCg;@^~?onKQkAmHE!C37N@monodpAWwx`^WwvwEd-H5$XB@|+xf$m($7I~f zb;f6`=Qx_NfjKwhBj$n($2~60Xxprae>>{w;$mtNh90tocQ_wkrxE!qDOwZ0y#4)gvGoj9L z#8qH5XU26-Ag%#xIkUMqiMS4|=gj2J#9zP0;{pBl3i_^d0C5m3;>_YMA;e*@j5Cuv zM-Z2T6?jz?aSW{F%+tkj#8qH5XI>~yAg%#7+B3P|TF!SYNg`7R)^ny$2{{>+-(5k+ zmIM$7!6MF_P!dL5#&LN`1aUc7!I^VQqKIQ)C1+wKal}<%HD{KWBoNntwVZjdqz-XC z$Elqu1#<%WQ)G<<5C_2`&OBcdLL3ImIJ2W9g18*4;7rfXF~pS|CrjdptH5f`JYAeX zTm#l}hSv__I?;W&4ufT!`L(1RaRtZeU89I&U?pdo zb&Vsg0;@U0vw^qi zan~5)N{(OYT7|fp<8w=D5Z7`%qgx%~dX5`)H)&Y=X;;uQ-GhjWIOg^dmvPMPBd*|> z+eci|xCX4{%(xy&#C2djXJ&Mx z42%c#XGre>#6hr#GtYDnAr6COoLSa0g18*4;7oZ*6mbl!nlpV$5{PTS zTFw-AO(L!X>p7F&l^S6@pudr{6F?jUi#XG#B!oB&mT{)IYXosQSizaTy`qR?U?peL zyT%b$fz_PZSDZjx1J-hew|T^MU_EE}mr?o4DEZh3`ZJ}S0OBB6#F=qDLWsj)8E0m6 ziy$rsD>$>WR}^s!tmMquz2k_hz-rEXQk+0s1J-gTvriIn9aztqfh(>Q;7VHBAd7zeAs zm0YJ&y9DAIa06$`+HK%hozboinU6VhN4t-ap~Emv&>c31o@?h0yPn=?7eFQm7I5CS zFF-zoOc)%*`P}w{IN!5<1etPh8s|@MKMna9GIKZ+Yd?oGV+-TRRDmlwe|!6t$S07g z0XJ~|srDNI6t_Z8fWGmJ?(H=iYPKMa1Q5RJbDi2 z-)I*{rV3oi`F%&P>-yn*v$3zNvyfgf{zPVvW_-`bvzz-Yk$7z9IL z7>t1BU=)mjaj*(ZfHhzpNJpY&FaQR@5Eup{U^y5CW8fSx4pxCH!30D9r!Uw zP0=stzyKHo3&0Q<1_yx=upFEQM!^_32aJPN;7Tw7)_@zpBv=Q23{o?U2XtTn41xt< z7#svfz;bXJ7zJbC954=6fh)lTSOabVlVBbAF-XlZ63~GGFbEcaAutS|K z6}S>ifHmL-FbURyAA{5ay@L)6fI+YT41r-V0+xf*z$h34<6sq-0BgV`SO*&Z-QRA9 z1;8K}0>fYgEC-`t42*+SU;?ZGYqRAlG>Nzltmn)N#nckZ1^QdcRcHWl5G>-%=Hd|I zFj&T!FZ)FhS8)7mzbN8Ljt}b}M_kSE2_*@{wH&wVU(e(#?N-v4zZI^r5f^dXwSO7& z>EZ}7G;r+)}>7%bz=;x6TgD>#n!k0OqNm7IB{YaDSESk0LZ0}_a9z*^2s?wmwi z2i9|jf8#C}BLV%nSMYDW1rP_p5Eup{U^y5CV_+Pt0&Bn|SO-!b+6Mz*5DbA~Fanl? zQ7{I^!74BTQoghn07GB|jDm460VcsfYpEXs!(ap~2cuvNjDuBR0;~a(AO+Ab7y=_; z6pVvaU;?ZGlVBZ4LCgaf1jArC7z3-o8n6yDZRAx!Fa(Cd2v`nA!5A0^tH1J;m2k>o2^5e~B-EI0zPT=4k#hIw=i^C{5aKXc#u*+1;&QNpGkkp<#=_Q3!c1S4P+jDrcV226r=V0}l~( (1Nx7WEiHgJ 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

Xp`fH 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 entry = new Dictionary { { "SecretName", "API_KEY" }, { "SecretValue", "abc" }, { "SecretComment", "primary" }, - { "SkipMultilineEncoding", true }, - { "TagIds", new[] { "tag-1", "tag-2" } } + { "SkipMultilineEncoding", "true" }, + { "TagIds", "tag-1,tag-2" } }; - InfisicalBulkCreateSecretItem[] items = InfisicalBulkSecretConverter.ToCreateItems(new[] { entry }); + InfisicalBulkCreateSecretItem[] items = InfisicalBulkSecretConverter.ToCreateItems(new IDictionary[] { entry }); Assert.Single(items); Assert.Equal("API_KEY", items[0].SecretName); Assert.Equal("abc", items[0].SecretValue); @@ -31,13 +31,13 @@ namespace PSInfisicalAPI.Tests [Fact] public void ToCreateItems_Accepts_Name_Alias_For_SecretName() { - Hashtable entry = new Hashtable + Dictionary entry = new Dictionary { { "Name", "API_KEY" }, { "Value", "abc" } }; - InfisicalBulkCreateSecretItem[] items = InfisicalBulkSecretConverter.ToCreateItems(new[] { entry }); + InfisicalBulkCreateSecretItem[] items = InfisicalBulkSecretConverter.ToCreateItems(new IDictionary[] { entry }); Assert.Single(items); Assert.Equal("API_KEY", items[0].SecretName); Assert.Equal("abc", items[0].SecretValue); @@ -46,23 +46,23 @@ namespace PSInfisicalAPI.Tests [Fact] public void ToCreateItems_Without_SecretName_Throws() { - Hashtable entry = new Hashtable { { "Value", "abc" } }; + Dictionary entry = new Dictionary { { "Value", "abc" } }; Assert.Throws(() => - InfisicalBulkSecretConverter.ToCreateItems(new[] { entry })); + InfisicalBulkSecretConverter.ToCreateItems(new IDictionary[] { entry })); } [Fact] public void ToUpdateItems_Maps_NewSecretName() { - Hashtable entry = new Hashtable + Dictionary entry = new Dictionary { { "SecretName", "API_KEY" }, { "NewSecretName", "RENAMED" }, { "SecretValue", "new-value" } }; - InfisicalBulkUpdateSecretItem[] items = InfisicalBulkSecretConverter.ToUpdateItems(new[] { entry }); + InfisicalBulkUpdateSecretItem[] items = InfisicalBulkSecretConverter.ToUpdateItems(new IDictionary[] { entry }); Assert.Single(items); Assert.Equal("API_KEY", items[0].SecretName); Assert.Equal("RENAMED", items[0].NewSecretName); @@ -70,20 +70,17 @@ namespace PSInfisicalAPI.Tests } [Fact] - public void ToCreateItems_Maps_Metadata_Dictionary() + public void ToCreateItems_Trims_TagId_Whitespace_And_Skips_Empty() { - Hashtable meta = new Hashtable { { "owner", "platform" }, { "tier", "1" } }; - Hashtable entry = new Hashtable + Dictionary entry = new Dictionary { { "SecretName", "API_KEY" }, { "SecretValue", "abc" }, - { "Metadata", meta } + { "TagIds", " tag-1 , , tag-2 " } }; - InfisicalBulkCreateSecretItem[] items = InfisicalBulkSecretConverter.ToCreateItems(new[] { entry }); - Assert.NotNull(items[0].SecretMetadata); - Assert.Equal("platform", items[0].SecretMetadata["owner"]); - Assert.Equal("1", items[0].SecretMetadata["tier"]); + InfisicalBulkCreateSecretItem[] items = InfisicalBulkSecretConverter.ToCreateItems(new IDictionary[] { entry }); + Assert.Equal(new[] { "tag-1", "tag-2" }, items[0].TagIds); } [Fact] diff --git a/src/PSInfisicalAPI.Tests/BulkSecretDtoTests.cs b/src/PSInfisicalAPI.Tests/BulkSecretDtoTests.cs index b4a4474..60af355 100644 --- a/src/PSInfisicalAPI.Tests/BulkSecretDtoTests.cs +++ b/src/PSInfisicalAPI.Tests/BulkSecretDtoTests.cs @@ -59,12 +59,14 @@ namespace PSInfisicalAPI.Tests object dto = MakeDto("PSInfisicalAPI.Secrets.InfisicalSecretBatchCreateRequestDto"); dto.GetType().GetProperty("WorkspaceId").SetValue(dto, "wks-1"); + dto.GetType().GetProperty("ProjectId").SetValue(dto, "wks-1"); dto.GetType().GetProperty("Environment").SetValue(dto, "prod"); dto.GetType().GetProperty("SecretPath").SetValue(dto, "/db"); dto.GetType().GetProperty("Secrets").SetValue(dto, list); JObject json = JObject.Parse(JsonConvert.SerializeObject(dto)); Assert.Equal("wks-1", (string)json["workspaceId"]); + Assert.Equal("wks-1", (string)json["projectId"]); Assert.Equal("prod", (string)json["environment"]); Assert.Equal("/db", (string)json["secretPath"]); JArray secrets = (JArray)json["secrets"]; @@ -73,6 +75,31 @@ namespace PSInfisicalAPI.Tests Assert.Equal("V1", (string)secrets[0]["secretValue"]); } + [Fact] + public void BatchCreateRequest_Omits_Null_WorkspaceId_When_Only_ProjectId_Set() + { + object dto = MakeDto("PSInfisicalAPI.Secrets.InfisicalSecretBatchCreateRequestDto"); + dto.GetType().GetProperty("ProjectId").SetValue(dto, "wks-1"); + dto.GetType().GetProperty("Environment").SetValue(dto, "prod"); + + JObject json = JObject.Parse(JsonConvert.SerializeObject(dto)); + Assert.False(json.ContainsKey("workspaceId")); + Assert.Equal("wks-1", (string)json["projectId"]); + } + + [Fact] + public void BatchUpdateRequest_Includes_ProjectId_Alongside_WorkspaceId() + { + object dto = MakeDto("PSInfisicalAPI.Secrets.InfisicalSecretBatchUpdateRequestDto"); + dto.GetType().GetProperty("WorkspaceId").SetValue(dto, "wks-1"); + dto.GetType().GetProperty("ProjectId").SetValue(dto, "wks-1"); + dto.GetType().GetProperty("Environment").SetValue(dto, "prod"); + + JObject json = JObject.Parse(JsonConvert.SerializeObject(dto)); + Assert.Equal("wks-1", (string)json["workspaceId"]); + Assert.Equal("wks-1", (string)json["projectId"]); + } + [Fact] public void BatchDeleteRequest_Serializes_With_Secret_Keys() { @@ -86,11 +113,13 @@ namespace PSInfisicalAPI.Tests object dto = MakeDto("PSInfisicalAPI.Secrets.InfisicalSecretBatchDeleteRequestDto"); dto.GetType().GetProperty("WorkspaceId").SetValue(dto, "wks-1"); + dto.GetType().GetProperty("ProjectId").SetValue(dto, "wks-1"); dto.GetType().GetProperty("Environment").SetValue(dto, "prod"); dto.GetType().GetProperty("Secrets").SetValue(dto, list); JObject json = JObject.Parse(JsonConvert.SerializeObject(dto)); Assert.Equal("wks-1", (string)json["workspaceId"]); + Assert.Equal("wks-1", (string)json["projectId"]); JArray secrets = (JArray)json["secrets"]; Assert.Single(secrets); Assert.Equal("K1", (string)secrets[0]["secretKey"]); diff --git a/src/PSInfisicalAPI.Tests/EndpointRegistryTests.cs b/src/PSInfisicalAPI.Tests/EndpointRegistryTests.cs index d931695..190a3ad 100644 --- a/src/PSInfisicalAPI.Tests/EndpointRegistryTests.cs +++ b/src/PSInfisicalAPI.Tests/EndpointRegistryTests.cs @@ -71,9 +71,9 @@ namespace PSInfisicalAPI.Tests [InlineData(InfisicalEndpointNames.LdapAuthLogin, "POST", "/api/v1/auth/ldap-auth/login")] [InlineData(InfisicalEndpointNames.AzureAuthLogin, "POST", "/api/v1/auth/azure-auth/login")] [InlineData(InfisicalEndpointNames.GcpIamAuthLogin, "POST", "/api/v1/auth/gcp-auth/login")] - [InlineData(InfisicalEndpointNames.BulkCreateSecret, "POST", "/api/v3/secrets/batch/raw")] - [InlineData(InfisicalEndpointNames.BulkUpdateSecret, "PATCH", "/api/v3/secrets/batch/raw")] - [InlineData(InfisicalEndpointNames.BulkDeleteSecret, "DELETE", "/api/v3/secrets/batch/raw")] + [InlineData(InfisicalEndpointNames.BulkCreateSecret, "POST", "/api/v4/secrets/batch")] + [InlineData(InfisicalEndpointNames.BulkUpdateSecret, "PATCH", "/api/v4/secrets/batch")] + [InlineData(InfisicalEndpointNames.BulkDeleteSecret, "DELETE", "/api/v4/secrets/batch")] [InlineData(InfisicalEndpointNames.DuplicateSecret, "POST", "/api/v4/secrets/duplicate")] public void Registered_Endpoints_Have_Expected_Shape(string name, string method, string template) { @@ -81,5 +81,19 @@ namespace PSInfisicalAPI.Tests Assert.Equal(method, definition.Method); Assert.Equal(template, definition.Template); } + + [Theory] + [InlineData(InfisicalEndpointNames.BulkCreateSecret, "POST", "/api/v3/secrets/batch/raw")] + [InlineData(InfisicalEndpointNames.BulkUpdateSecret, "PATCH", "/api/v3/secrets/batch/raw")] + [InlineData(InfisicalEndpointNames.BulkDeleteSecret, "DELETE", "/api/v3/secrets/batch/raw")] + public void Bulk_Endpoints_Retain_V3_Fallback_Candidate(string name, string method, string template) + { + System.Collections.Generic.IReadOnlyList candidates = InfisicalEndpointRegistry.GetCandidates(name); + Assert.Equal(2, candidates.Count); + Assert.Equal("v4", candidates[0].Version); + Assert.Equal("v3", candidates[1].Version); + Assert.Equal(method, candidates[1].Method); + Assert.Equal(template, candidates[1].Template); + } } } diff --git a/src/PSInfisicalAPI/Cmdlets/NewInfisicalSecretCmdlet.cs b/src/PSInfisicalAPI/Cmdlets/NewInfisicalSecretCmdlet.cs index 2935f2e..f853073 100644 --- a/src/PSInfisicalAPI/Cmdlets/NewInfisicalSecretCmdlet.cs +++ b/src/PSInfisicalAPI/Cmdlets/NewInfisicalSecretCmdlet.cs @@ -1,5 +1,5 @@ using System; -using System.Collections; +using System.Collections.Generic; using System.Management.Automation; using System.Security; using PSInfisicalAPI.Connections; @@ -24,7 +24,7 @@ namespace PSInfisicalAPI.Cmdlets public SecureString SecureSecretValue { get; set; } [Parameter(Mandatory = true, Position = 0, ParameterSetName = "Bulk", ValueFromPipeline = true)] - public Hashtable[] Secrets { get; set; } + public IDictionary[] Secrets { get; set; } [Parameter] public string SecretComment { get; set; } [Parameter] public string ProjectId { get; set; } diff --git a/src/PSInfisicalAPI/Cmdlets/UpdateInfisicalSecretCmdlet.cs b/src/PSInfisicalAPI/Cmdlets/UpdateInfisicalSecretCmdlet.cs index 0bb6912..9ebd1f6 100644 --- a/src/PSInfisicalAPI/Cmdlets/UpdateInfisicalSecretCmdlet.cs +++ b/src/PSInfisicalAPI/Cmdlets/UpdateInfisicalSecretCmdlet.cs @@ -1,5 +1,5 @@ using System; -using System.Collections; +using System.Collections.Generic; using System.Management.Automation; using System.Security; using PSInfisicalAPI.Connections; @@ -21,7 +21,7 @@ namespace PSInfisicalAPI.Cmdlets [Parameter(ParameterSetName = "SecureString")] public SecureString SecureSecretValue { get; set; } [Parameter(Mandatory = true, Position = 0, ParameterSetName = "Bulk", ValueFromPipeline = true)] - public Hashtable[] Secrets { get; set; } + public IDictionary[] Secrets { get; set; } [Parameter] public string NewSecretName { get; set; } [Parameter] public string SecretComment { get; set; } diff --git a/src/PSInfisicalAPI/Endpoints/InfisicalEndpointRegistry.cs b/src/PSInfisicalAPI/Endpoints/InfisicalEndpointRegistry.cs index 332de5a..4aceb25 100644 --- a/src/PSInfisicalAPI/Endpoints/InfisicalEndpointRegistry.cs +++ b/src/PSInfisicalAPI/Endpoints/InfisicalEndpointRegistry.cs @@ -198,6 +198,18 @@ namespace PSInfisicalAPI.Endpoints ContainsSecretMaterialInResponse = true }); + Add(map, new InfisicalEndpointDefinition + { + Name = InfisicalEndpointNames.BulkCreateSecret, + Resource = "Secrets", + Version = "v4", + Method = "POST", + Template = "/api/v4/secrets/batch", + RequiresAuthorization = true, + ContainsSecretMaterialInRequest = true, + ContainsSecretMaterialInResponse = true + }); + Add(map, new InfisicalEndpointDefinition { Name = InfisicalEndpointNames.BulkCreateSecret, @@ -210,6 +222,18 @@ namespace PSInfisicalAPI.Endpoints ContainsSecretMaterialInResponse = true }); + Add(map, new InfisicalEndpointDefinition + { + Name = InfisicalEndpointNames.BulkUpdateSecret, + Resource = "Secrets", + Version = "v4", + Method = "PATCH", + Template = "/api/v4/secrets/batch", + RequiresAuthorization = true, + ContainsSecretMaterialInRequest = true, + ContainsSecretMaterialInResponse = true + }); + Add(map, new InfisicalEndpointDefinition { Name = InfisicalEndpointNames.BulkUpdateSecret, @@ -222,6 +246,18 @@ namespace PSInfisicalAPI.Endpoints ContainsSecretMaterialInResponse = true }); + Add(map, new InfisicalEndpointDefinition + { + Name = InfisicalEndpointNames.BulkDeleteSecret, + Resource = "Secrets", + Version = "v4", + Method = "DELETE", + Template = "/api/v4/secrets/batch", + RequiresAuthorization = true, + ContainsSecretMaterialInRequest = true, + ContainsSecretMaterialInResponse = true + }); + Add(map, new InfisicalEndpointDefinition { Name = InfisicalEndpointNames.BulkDeleteSecret, diff --git a/src/PSInfisicalAPI/Secrets/InfisicalBulkSecretConverter.cs b/src/PSInfisicalAPI/Secrets/InfisicalBulkSecretConverter.cs index ba4f37d..8b7aab5 100644 --- a/src/PSInfisicalAPI/Secrets/InfisicalBulkSecretConverter.cs +++ b/src/PSInfisicalAPI/Secrets/InfisicalBulkSecretConverter.cs @@ -1,29 +1,27 @@ using System; -using System.Collections; using System.Collections.Generic; using PSInfisicalAPI.Errors; -using PSInfisicalAPI.Security; namespace PSInfisicalAPI.Secrets { public static class InfisicalBulkSecretConverter { - public static InfisicalBulkCreateSecretItem[] ToCreateItems(IEnumerable input) + public static InfisicalBulkCreateSecretItem[] ToCreateItems(IEnumerable> input) { if (input == null) { return new InfisicalBulkCreateSecretItem[0]; } List list = new List(); - foreach (object element in input) + foreach (IDictionary entry in input) { - Hashtable table = AsHashtable(element); + if (entry == null) { continue; } + IDictionary table = Normalize(entry); InfisicalBulkCreateSecretItem item = new InfisicalBulkCreateSecretItem { SecretName = GetString(table, "SecretName", "Name", "Key", "SecretKey"), - SecretValue = GetSecretValue(table, "SecretValue", "Value"), + SecretValue = GetString(table, "SecretValue", "Value"), SecretComment = GetString(table, "SecretComment", "Comment"), SkipMultilineEncoding = GetBool(table, "SkipMultilineEncoding"), - TagIds = GetStringArray(table, "TagIds"), - SecretMetadata = GetStringDictionary(table, "SecretMetadata", "Metadata") + TagIds = GetStringArray(table, "TagIds") }; if (string.IsNullOrEmpty(item.SecretName)) @@ -37,23 +35,23 @@ namespace PSInfisicalAPI.Secrets return list.ToArray(); } - public static InfisicalBulkUpdateSecretItem[] ToUpdateItems(IEnumerable input) + public static InfisicalBulkUpdateSecretItem[] ToUpdateItems(IEnumerable> input) { if (input == null) { return new InfisicalBulkUpdateSecretItem[0]; } List list = new List(); - foreach (object element in input) + foreach (IDictionary entry in input) { - Hashtable table = AsHashtable(element); + if (entry == null) { continue; } + IDictionary table = Normalize(entry); InfisicalBulkUpdateSecretItem item = new InfisicalBulkUpdateSecretItem { SecretName = GetString(table, "SecretName", "Name", "Key", "SecretKey"), NewSecretName = GetString(table, "NewSecretName", "NewName"), - SecretValue = GetSecretValue(table, "SecretValue", "Value"), + SecretValue = GetString(table, "SecretValue", "Value"), SecretComment = GetString(table, "SecretComment", "Comment"), SkipMultilineEncoding = GetBool(table, "SkipMultilineEncoding"), - TagIds = GetStringArray(table, "TagIds"), - SecretMetadata = GetStringDictionary(table, "SecretMetadata", "Metadata") + TagIds = GetStringArray(table, "TagIds") }; if (string.IsNullOrEmpty(item.SecretName)) @@ -67,98 +65,53 @@ namespace PSInfisicalAPI.Secrets return list.ToArray(); } - private static Hashtable AsHashtable(object element) + private static IDictionary Normalize(IDictionary source) { - if (element is Hashtable hashtable) { return hashtable; } - if (element is IDictionary dictionary) + Dictionary normalized = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (KeyValuePair kvp in source) { - Hashtable converted = new Hashtable(StringComparer.OrdinalIgnoreCase); - foreach (DictionaryEntry entry in dictionary) - { - if (entry.Key == null) { continue; } - converted[entry.Key.ToString()] = entry.Value; - } - - return converted; + if (string.IsNullOrEmpty(kvp.Key)) { continue; } + normalized[kvp.Key] = kvp.Value; } - throw new InfisicalConfigurationException("Bulk secret entries must be Hashtable or IDictionary values."); + return normalized; } - private static string GetString(Hashtable table, params string[] keys) + private static string GetString(IDictionary table, params string[] keys) { foreach (string key in keys) { - if (table.ContainsKey(key) && table[key] != null) + string value; + if (table.TryGetValue(key, out value) && !string.IsNullOrEmpty(value)) { - return table[key].ToString(); + return value; } } return null; } - private static string GetSecretValue(Hashtable table, params string[] keys) + private static bool? GetBool(IDictionary table, string key) { - foreach (string key in keys) - { - if (!table.ContainsKey(key)) { continue; } - object value = table[key]; - if (value == null) { return null; } - if (value is System.Security.SecureString secure) - { - return SecureStringUtility.UsePlainText(secure, plain => plain); - } - - return value.ToString(); - } - - return null; - } - - private static bool? GetBool(Hashtable table, string key) - { - if (!table.ContainsKey(key) || table[key] == null) { return null; } - object value = table[key]; - if (value is bool b) { return b; } + string value; + if (!table.TryGetValue(key, out value) || string.IsNullOrEmpty(value)) { return null; } bool parsed; - return bool.TryParse(value.ToString(), out parsed) ? parsed : (bool?)null; + return bool.TryParse(value, out parsed) ? parsed : (bool?)null; } - private static string[] GetStringArray(Hashtable table, string key) + private static string[] GetStringArray(IDictionary table, string key) { - if (!table.ContainsKey(key) || table[key] == null) { return null; } - object value = table[key]; - if (value is string[] direct) { return direct; } - if (value is IEnumerable enumerable && !(value is string)) + string value; + if (!table.TryGetValue(key, out value) || string.IsNullOrEmpty(value)) { return null; } + string[] parts = value.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + List trimmed = new List(parts.Length); + foreach (string part in parts) { - List items = new List(); - foreach (object item in enumerable) { if (item != null) { items.Add(item.ToString()); } } - return items.ToArray(); + string item = part.Trim(); + if (!string.IsNullOrEmpty(item)) { trimmed.Add(item); } } - return new[] { value.ToString() }; - } - - private static Dictionary GetStringDictionary(Hashtable table, params string[] keys) - { - foreach (string key in keys) - { - if (!table.ContainsKey(key) || table[key] == null) { continue; } - if (table[key] is IDictionary dictionary) - { - Dictionary result = new Dictionary(StringComparer.OrdinalIgnoreCase); - foreach (DictionaryEntry entry in dictionary) - { - if (entry.Key == null) { continue; } - result[entry.Key.ToString()] = entry.Value != null ? entry.Value.ToString() : null; - } - - return result; - } - } - - return null; + return trimmed.Count == 0 ? null : trimmed.ToArray(); } } } diff --git a/src/PSInfisicalAPI/Secrets/InfisicalSecretDtos.cs b/src/PSInfisicalAPI/Secrets/InfisicalSecretDtos.cs index d4dd9cc..7f4caab 100644 --- a/src/PSInfisicalAPI/Secrets/InfisicalSecretDtos.cs +++ b/src/PSInfisicalAPI/Secrets/InfisicalSecretDtos.cs @@ -117,7 +117,8 @@ namespace PSInfisicalAPI.Secrets internal sealed class InfisicalSecretBatchCreateRequestDto { - [JsonProperty("workspaceId")] public string WorkspaceId { get; set; } + [JsonProperty("workspaceId", NullValueHandling = NullValueHandling.Ignore)] public string WorkspaceId { get; set; } + [JsonProperty("projectId", NullValueHandling = NullValueHandling.Ignore)] public string ProjectId { get; set; } [JsonProperty("environment")] public string Environment { get; set; } [JsonProperty("secretPath", NullValueHandling = NullValueHandling.Ignore)] public string SecretPath { get; set; } [JsonProperty("secrets")] public List Secrets { get; set; } @@ -125,7 +126,8 @@ namespace PSInfisicalAPI.Secrets internal sealed class InfisicalSecretBatchUpdateRequestDto { - [JsonProperty("workspaceId")] public string WorkspaceId { get; set; } + [JsonProperty("workspaceId", NullValueHandling = NullValueHandling.Ignore)] public string WorkspaceId { get; set; } + [JsonProperty("projectId", NullValueHandling = NullValueHandling.Ignore)] public string ProjectId { get; set; } [JsonProperty("environment")] public string Environment { get; set; } [JsonProperty("secretPath", NullValueHandling = NullValueHandling.Ignore)] public string SecretPath { get; set; } [JsonProperty("mode", NullValueHandling = NullValueHandling.Ignore)] public string Mode { get; set; } @@ -134,7 +136,8 @@ namespace PSInfisicalAPI.Secrets internal sealed class InfisicalSecretBatchDeleteRequestDto { - [JsonProperty("workspaceId")] public string WorkspaceId { get; set; } + [JsonProperty("workspaceId", NullValueHandling = NullValueHandling.Ignore)] public string WorkspaceId { get; set; } + [JsonProperty("projectId", NullValueHandling = NullValueHandling.Ignore)] public string ProjectId { get; set; } [JsonProperty("environment")] public string Environment { get; set; } [JsonProperty("secretPath", NullValueHandling = NullValueHandling.Ignore)] public string SecretPath { get; set; } [JsonProperty("secrets")] public List Secrets { get; set; } diff --git a/src/PSInfisicalAPI/Secrets/InfisicalSecretsClient.cs b/src/PSInfisicalAPI/Secrets/InfisicalSecretsClient.cs index 9d7e93a..8e4161b 100644 --- a/src/PSInfisicalAPI/Secrets/InfisicalSecretsClient.cs +++ b/src/PSInfisicalAPI/Secrets/InfisicalSecretsClient.cs @@ -254,6 +254,7 @@ namespace PSInfisicalAPI.Secrets InfisicalSecretBatchCreateRequestDto dtoRequest = new InfisicalSecretBatchCreateRequestDto { WorkspaceId = resolvedProjectId, + ProjectId = resolvedProjectId, Environment = resolvedEnvironment, SecretPath = FirstNonEmpty(request.SecretPath, connection.DefaultSecretPath, "/"), Secrets = items @@ -309,6 +310,7 @@ namespace PSInfisicalAPI.Secrets InfisicalSecretBatchUpdateRequestDto dtoRequest = new InfisicalSecretBatchUpdateRequestDto { WorkspaceId = resolvedProjectId, + ProjectId = resolvedProjectId, Environment = resolvedEnvironment, SecretPath = FirstNonEmpty(request.SecretPath, connection.DefaultSecretPath, "/"), Mode = request.Mode, @@ -355,6 +357,7 @@ namespace PSInfisicalAPI.Secrets InfisicalSecretBatchDeleteRequestDto dtoRequest = new InfisicalSecretBatchDeleteRequestDto { WorkspaceId = resolvedProjectId, + ProjectId = resolvedProjectId, Environment = resolvedEnvironment, SecretPath = FirstNonEmpty(request.SecretPath, connection.DefaultSecretPath, "/"), Secrets = items