From 71eb0b6cbbc93897df01a525ee044e679a434c9c Mon Sep 17 00:00:00 2001 From: ee-extensions release bot Date: Tue, 23 Jun 2026 19:19:23 +0000 Subject: [PATCH] release manifest-updater 1.1.2 --- manifest-updater.json | 8 ++++---- manifest-updater/manifest-updater-1.1.1.zip | Bin 10463 -> 0 bytes manifest-updater/manifest-updater-1.1.2.zip | Bin 0 -> 11126 bytes 3 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 manifest-updater/manifest-updater-1.1.1.zip create mode 100644 manifest-updater/manifest-updater-1.1.2.zip diff --git a/manifest-updater.json b/manifest-updater.json index 0630a82..0fa5c31 100644 --- a/manifest-updater.json +++ b/manifest-updater.json @@ -1,13 +1,13 @@ { "name": "Manifest Updater", "slug": "manifest-updater", - "version": "1.1.1", - "download_url": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/manifest-updater/manifest-updater-1.1.1.zip", + "version": "1.1.2", + "download_url": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/manifest-updater/manifest-updater-1.1.2.zip", "homepage": "https://gitea.mulligan.casa/mmulligan/manifest-updater", "requires": "6.1", "tested": "7.0", "requires_php": "8.1", - "last_updated": "2026-06-23 19:02:05", + "last_updated": "2026-06-23 19:19:23", "icons": { "1x": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/manifest-updater/icon-128x128.png", "2x": "https://gitea.mulligan.casa/ee-extensions/foh-updates/raw/branch/main/manifest-updater/icon-256x256.png" @@ -25,6 +25,6 @@ "description": "

A tiny, universal, self-hosted updater for plugins and themes. Network-activate it once; any project that opts in via its Update URI header gets WordPress-native update notifications, \"View details\", and one-click / auto updates — network-wide, with no per-project updater code and no tokens.

\n

It's \"Git Updater meets PUC,\" but thin: WordPress already does the hard part (scanning every installed project's header, routing by host, building the update transient, rendering the row, running the install). This plugin only supplies the piece core can't — reading your JSON manifest and returning the update.

\n

Opt in — the # fragment is the trigger. Append a fragment to the project's Update URI header; the fragment is the only trigger (paths are never sniffed), so it can't collide with a project that updates some other way:

\n\n

The part before # is the manifest URL; #manifest-updater.json opts the project in and selects JSON-manifest mode. The Update URI header also earns the project automatic protection from being overwritten by a same-named wordpress.org plugin or theme — for free, from core.

\n

Network-wide, so everything else can be site-active. get_plugins() / wp_get_themes() return every installed project regardless of activation, and the update transients are network-level on multisite — so updates surface and install network-wide while the projects themselves stay site-active, network-active, or inactive. Only Manifest Updater needs to be network-active.

\n

Same-origin image proxy. Icons and banners are re-served from your own site, so the browser never makes a cross-origin request to the update host — which sidesteps Private Network Access blocks, NAT hairpin, CORS, and service workers that otherwise leave the icon blank on the Updates screen.

", "installation": "
    \n
  1. Upload to wp-content/plugins/ and Network Activate it (it is Network: true).
  2. \n
  3. Give each project you want updated an Update URI header ending in #manifest-updater.json, pointing at its JSON manifest.
  4. \n
  5. That's it — updates appear on the normal Plugins / Updates screens, network-wide.
  6. \n
", "faq": "

Does the project have to be network-active to get updates?

\n

No. Only Manifest Updater is network-active. Opted-in projects can be site-active, network-active, or inactive and still receive updates.

\n

Where do manifests come from?

\n

Any URL you control, returning the PUC (\"Plugin Update Checker\") JSON format. Only version and download_url are required; everything else enriches the row and the details modal. Manifests are cached in a network site-transient for 12h; the Updates screen's \"Check again\" busts the cache.

", - "changelog": "

1.1.1
\n* \"View details\" sections now come from readme.txt (the WP-native source) rather than README.md; changelog version markers render bold (no clear:both modal gap); base/config renamed to .mu-manifest.yaml + .mu-release.yaml.

\n

1.1.0
\n* Same-origin image proxy for plugin/theme icons + banners — fetched server-side, re-served from this site, so cross-origin/private-network/CORS/service-worker hurdles never blank the icon. SSRF-contained (same host as the manifest, no redirects), raster-only, content-type allow-listed, cached, size-capped.
\n* tags passed through to the \"View details\" modal sidebar.
\n* Self-hosting via the shared update channel + a reusable release pipeline (.ci/) mirrored to the channel on release.

\n

1.0.0
\n* Initial release: network-wide self-hosted updates for plugins and themes via the Update URI header + a #manifest-updater.json fragment. Full PUC manifest field support, 12h manifest cache, self-update.

" + "changelog": "

1.1.2
\n* Screenshots support: readme.txt == Screenshots == captions pair with screenshots/screenshot-N.png into a same-origin proxied gallery tab; no images means no tab (no more captions-only Screenshots section).

\n

1.1.1
\n* \"View details\" sections now come from readme.txt (the WP-native source) rather than README.md; changelog version markers render bold (no clear:both modal gap); base/config renamed to .mu-manifest.yaml + .mu-release.yaml.

\n

1.1.0
\n* Same-origin image proxy for plugin/theme icons + banners — fetched server-side, re-served from this site, so cross-origin/private-network/CORS/service-worker hurdles never blank the icon. SSRF-contained (same host as the manifest, no redirects), raster-only, content-type allow-listed, cached, size-capped.
\n* tags passed through to the \"View details\" modal sidebar.
\n* Self-hosting via the shared update channel + a reusable release pipeline (.ci/) mirrored to the channel on release.

\n

1.0.0
\n* Initial release: network-wide self-hosted updates for plugins and themes via the Update URI header + a #manifest-updater.json fragment. Full PUC manifest field support, 12h manifest cache, self-update.

" } } diff --git a/manifest-updater/manifest-updater-1.1.1.zip b/manifest-updater/manifest-updater-1.1.1.zip deleted file mode 100644 index 877eae697bf4c4c32d6bd326b6b9a7f740506248..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10463 zcmZ{qbx<9^mgX;Zad&qKdf}qMU4py2OVA*}3GVJegS)#s1b26Lci1;?W@mQazCB%a zx~r?cU-ds-r>oDW_zemg0q`F|le(z;&&7WwbO1cS&gi?9xtX&I(+>wzBNsC#7By8E z0L1g+S8K)p(!u>x$5gQ>s7wj~T)6=N)c;QRuOMazONakvo%63ct#Kw_ejqI6Bed;y z4rftu%r~B?*)A{8G&aO%n#z<}3scRFhsrrgHEO5#tG(8fRyP=M8`K^`#sXNFM&c5d zE6!C1)~Or-M47xO(OCithsPb)DFz#u2H_o+JcuUO^2~E$SBDjmec&YA9Z`Z|5i|8V z)YrDcq*Pq-bcMlPEloNeZN_}M%n|p!G2Lj~gG2XRf8-SG>J<9NIuKJY73b7OiE)zY zVV@cvU0m6bEw{pr2uwiR{tn}am`uX(z(ZR~UTPVPz(jmdtnp=EL~b^tvQ}VG9LDF* ztB>CxO4NRFx`7yJoHH}}$qwEAsWXw|{q6LA-4P)(%4-28Xhvsj9B03mqL)2M!9!^z zlhI|7fuN@$-?yev%(zn9RP&L^QIC^{pBeAOK(9h zz7-;xWe^*0-n2azLv2B?26poI`db;~c{2!;UYXl#Ew;txv7t2GCPs!=d||{WGh%j5w4yN(J@i?-xEP$`?6h=H9;TdhUeUH}|6+a@ACaYEeF^HT6!OyN z)p)e~^~d`5$3uiDMPWa=ps2;14$;MBr%y*6OK+x6*4wdZ04T6d*xbUw$Yd+{xmij^ ztV$Tzu4Q(X>1u#6Pd94q;|?Tau~^>^hj z+pTHZ^9j5+%ku?0#2cWpIn0P(NH-3o?S?wapXBK0iHzKQ4~geY<)ca=)!+6QLJ=~O z4KId0mWtUs1aB`%q-R76UCKO5cV~o8I}Rf#o--+53NJ$n_p5&aW0+Q| z4iA^NVFrFTW{yx^*&h*s*QCDF9AOY;5$t>}b8qr)e(jqGyq*(rXB*ubOB#-+hKx_o z;jor>_bVx!I96GcP4!S<3lgcTMNTNUnxTyzKFkdd&;^hv-cSsyU=M=hx_8vIGy#VZ zvkZ8gu;#=RLqJHXZ?P1Mk@2?X3*S6J3h~Z(-2Ug1JoUVgRAnhJnWKgg))N~d`wqGx+JV4CY&B3Y90ZJ{RICub;-Li5hL6l4 zX$yx?1>;^(1zgI!+C*70u`@e z!mvrF0(KD&x+UT$DQLJdV7qv=3Iz{X49O{T!Iq^Kz?u~zbnI7wB%P7u23<`lyrb=> zPS;C>1?`A&CMLZyc7|m3Bnl3xgE9n+iFk)BY416av#0Jc#~wQw~2Q?w!L|<|DwXw*PPvjtK4~e=~W& z_TL+0mt)IRh^hAaf@}3BIQoowc-J$h#FXky3NkAy?0$?tF(Ie8pMg>ghmDsuKIlHS zIw83@qdZQOk_ft|0H0+QmV%*w_5A%($k!IWYGWFT*eX~MAd52gj(vE7(Cz2cLG}I4 zAI2~YD73*k7jcej?^@{j%3I~?n+IW(Q*zAS5W-+57r;pIq!dUN@)J?3`xg;9D$Z*D zkTV3mKBUt9Vzh_*6F<_^5v%QH#v|!NQQKu9EN_m90m+(c6o0&-G!A4zj)xn5z#zu9 z$b_G0m0vvXLCx#Kef^L3ZQ}#RcjPMqq~ts!VVwxdBM2b_KfDNN!@g{&vZ>4kq$k(c zqT?oC{xu%IX%gStr)doXe)QcM_qThlowh3-W8pkWZNt#_!6G&wHcE0y8rnOe`)UFH z-q11)>@^+4pmoboH2?jR#queA>c(x?`4|JFKw4hViI4I{gbuC)A6d$W{-PG zPEn4|Fm}X7bGcBa9#mzPWXhmZ}J6*V) z7+(hl2@APGgIW!`_Y5od0%PqUj8UxMwGZ^_YrCAQ>puG?#*Q-{VMF*hBzbpj)$aym zY4x%K)+vRQajzzqF|cSYq34vus|3+;rSTMbaSWf9g=PtahOEWaU8_F-c)_x_*sGQ` zW<~9AS#z@3S>$-C>%HTA>jo}=$09RM{2MD~BKoCB2B(n%s`6%1l9~}8T16W1%)^Li zhlF_A3BWW+)!pGS01S8ILyK9P=YJv(G=nXTHA)l|vQd#};RWb$@lP%pvLT;4K3#wJ zN+x?6%7D7Iuz@4=;1$(duWf}7Rjo~wT-=rrBc>SYe&^5OApNSUwz0S z)){k2&V6PNV!HBAEj)^nELD7%o5(X0@b%9_Qq<5%grNE*j;C-sY%pA=a!(JT;a9kG z7tBGd+FlAn7gi2mJrx_IP*7^OJ>*KD1B1=ZMk91b_B+#jgkI8^8bxQ=xwhn;al{#H z2t;Y6h%-}4Mvjq6{zD0mkCwwQckG!CZn!6J^cGtKFnMhSfuLUP0TF*m-9<=us8nl5=hF_N zBPkjQm0`Dnzv`COrge0-EcO^94YA#~yi7fL(9?83mAl~(WvI1|pn3q#I;|oq*+2|~ zs}Ku;rtBSOxJN2#c29DjInZ+ujK+pbNIo3$k_p!bh}0+XIP>rvk|Ys$EJrWrI4nIn zwj%O4?#HAAI)m%+0SY)N)}kGh^kY5gczwYQaqdN)u` z8wt`3OaZz4rmCMZ9ECv?MHVwIb0Efn-9;s_>9bb-g=Ajc{xkj8L8t}P$6?yi7PSII zIJ>YfCf;#S4QW*U*o%>`n<2%@`&Y|g_3V0J6dt-YJ7E}XL>ajtQOc&oF`xGo%H`2g z5H5AK4L!?ht)f|EOR$GreN$+7mc(&)Pj`3PT@F$0W*&qkVgGvtQyuR)+h#lUvcYOD zoBL1=HFmv>Hx4VElcutN4Ls*11poOxo|<>8$->v@cBk2Plk2yZtM<-;P40ILMn*Dy ziD_i>n408xaQBPWLB*|}stUE6;-o67X2zhmrMzSAlExOrho?R?3!P%X^qaW0?mZ_? zp9OCEMP-`ln5`^g7Ao)*G6e|->Xt3!(9r3@7UPJEEA*`9vIJ6 zKO9fyZ}PPwXE}DwwYlJep2G+We;U5{DM)5o`C@SqCLKE4?ExuXjfk2pbqDW$BdAy9 zOO>bYdd>#RENzg!Mpvz{#^e_`1A9FMYr}g1*A|ToP9dp1bB-s>lH=igw+%;XoMA1> zY|6v!=7H|1j@$$vLdmvW>!C^$(|6bNrNVK0JnwYu=@)#%h>X7hE9KOex+ND zwq#t_Cp()bQD2d;#7^G`9URc9Tnlm8AO%xla#)3*heQhbQUCmfOb!qZqEh6y_d6|> zIDdTQ5~@Z4%L?E7!LIq6G@*}Ap*vl?s_QB{aOd@*B4$)ai=M(TAa10mx3f&207Uvp zh?^8vz88P#`&lcIbRVx0>2VJqU1oP;u7I!AdoE#ubuf+&`4&H}eNM0*P$CjxardJZ zMsB>09UNfTv0Reov8JB6cuw$vOz;E%xO&t<+1ONU3ywExfm;N-LyxoMBGCKVS}i4q z{JaAv@g|J8p4}YQ>RDE=R>e^HgXomewez&Ot#BDx;$>eAw^GzU5VT*SRz}Kx__Jwa#on>M)M}%H^g)55Y~k-gB|q}w zcB$4xsMX~6^*;#lieEj^6nvihWtZfpYQ$GaPGkEkh|u3_-r_#ZE`~@?CDsP-tiOK` zd5y~U{pwuKSNv*f6S?>qLTExG@$uQX6lKdAx#}ySa%RZs zZMy3fs$szpm)t@x_LNwuj?;940Y7hZ+fu+(MGRT(ojRr|aCnZRKOaLQV!@+G*r?i*< z7HOX2?^`jnL-re35pV~Zi$rf239z7>#Zq3E1o;Au&LasO3j>Y)b@}6#=~jiX#hO-K zUTZxgWnV)C=U7sgJGbEH zaA*JGNR}QAV($J{T2!?x#98bJeo+(N31U|;Yq9X$iy%AQ)x$-@2R@Z0EC-1Q?xqa7 zFG@02C|%Oq9#2#_(^qVd9k^UD279d6ub7N11YS_&tY!8W!K#j9RHBw@M?C$eD7*No zb3eY-S>coUb!lRv2)|W$d64Dc2`NJz4CpmfT3PDz5p}Ntv=cS%=QC6%de_1L-ppv z`$jqPW(%$}D_24e_4kJ{$;yp(Y@jyx^B)-zt4-Cv7G803?Q$A}eA`yE)7uNl|B_V@ z<>MZEoJKklr1MN1zv;Rw6r@_5*q%ZZ_7$&5@@(Xzc)M@$yPIcCjwo-pOqCUxJpYB^ zvf_O6a(#cT@5a(VVcXu|pG(OHrBH<>Kb=k3xidh%DnEM(ipJ3c#ckKK|GdJ}Ao^8B z0FYzo^pEs)!CRwk$~G4&*Y7epBv&YkG12`3b`EI@31YZrZ;B?r0!oiGcVtZ-12m(L zH>c?Bq3t=g(Re=s@)cbEU>Em!4TRQxd|Yb~^&smmXpMyd32-gag1U7ktunvb_wbIM zAmH*_YwRNY?1-jzkg51^qOXHgTcZEnyQqskVlxAK-MO=U;sd5(-(mM$>l)*@AW}OV zunLm`$tvrT;-Q0-sg!CV)zn9pwadc#4gz6&tKYs@bHit4MBvPgVD%7pC&(dkn+qH(z*UXka%#@c?Kf3 zs*d|B4QauvINO95gQ0_M6i(`IlWXLsEf!D}$IwD){m7WtP1NSubrjN=sIFK@)sBT%4;__U zek|AFd}skY1MYM#4&J7})|%{3q`G1MqHkj`cA_!rHJGIz27XGv?4uM=dwQ4>NCZb3;g|w5O9p! z8(gD33Z}YK6s+V>{QCt2W)WgV8mp$^GC%PrsXs#%&2XDsaQ?}UYC^GMOWqPFa{?^8C;D-j-;&%9`aTWIlxN&B0v!a-BUqPGM^{6WUk5a6x^|J_$KE z@VP-G(~!}G5H@dq{m5gty@ax^Q-L}5@=GD@OckTWF00&MTZCh3mjxojd~|?;(s%nv z21S#OtAkC7X0x@$d;S8pl@U-36+54y>>yZw-$an5*|018cA|u30{SA7TCGRLAS7#R zTb-Bed)V8=?~qBu$gBa$F4!iGvS#E-H@T>1fXMDE1C0ROe1w}C3pWuJf)-D0^zc7*a1Th z@Hi99_3$zgkZmGDEZ^VpeWyMxwr|-IdTLngxgE&y+9%JCU^q0z1QadM=l<+wKDpuD z!)cB-+@BRYJGyy5BMQVq%qSLT`!Xh|>Ijf!g`q`e@gEBu zP+%M9k*XH@5u+AZ`jgU~Rs0Sl5kAS0=MLlDx> zUxr&LrH43q{Na9BVx;jpg;QYwDpS)aMODcKa~U1jiw3QlSWd)}9X$2iu}>7u z$4Cpd$^*vU|$MvR=u% zIwlcrC5L4ij&20Q_9Lx#q1%CnPg}~(V&zVKV*&+=AFG)@11e+;1+~i_zJl9UNN>>` zSG$4p>nM&YZD;=UFpuR$v&}SV=si=^`=(%LT!o^3(xPzJ>u+Jfx3ysx4#-#DSp8Em z4R7GRAGuGpjCk@N2^YD035t5`M2<zaYH65R6|o_Nsze{LqYGv%f|J#ntAP}U2r^ip3SA6JAZh@0TrZG*6C0hCz?=)Q=bhGb*D88?Dy)#XuOwXQ~7|b>vR% zjI!y6Psu+(GB4FnP-zAO!(OsX3SlHmF)J@Xm-3|e#xKj@=?i1~-e2-6cJE&NfJq~; zUs(OcJ{ba56BJ_4RfZ`Z;9c0KXkB*bpm3Ztu4_9qOL{ny4W9LB*-Bn zDPJDK=rFGwR4*`G%#u|R!@sobcAmCD$I=!~Xh_{14VTAsimPY5kxAIp#^F9vd?0K$ z#d?9G@?~Gb9lK{Gi^E5Ic97vYMjulmUHcBuRVSi()mHNDa&f+|s;lqz`bRqTJ-MU;j@Cy>`f|;e3xqLMv zUf6m7qF0`mV;~WY`Y}O{DsI{g;*9D@Bu4q4u!f9Vqe(Wg8WCqKebqz?QoNAMz*jO^Q;LxF*{7n_njQ)w8GT9$H*qE@&$qDCaEY}FS0##h;sYo_9 z?^w|l5c^l40(l5zob62r*pu2+<*5BEn6CJE`5_4mZ1Iv4Fl^;#B5SjO&O#cKqqOsS zx8t<3W`st^2FS5^{hasMujXrCdJ5DDV!~^~w^>`(>$5pe zR>-D6AW#~kDPmrLXF4vvT z4nOkG&bgoLc~~XR_f?H}DY1;X<%OXoy`K|-@XwRz&%$4D*N!STwO=A z231GfxX8)e=y;i^YZ>rLc7E?MY?Pw^lo3fPW1cX@V>(vY$fUtt945V$>wDCn zekNwTs2t^Xb`q#lVB8O}DmDdKb@1U(cHo<)aNrL#WTEpTx5S9c1hp`+LYDEpoQIl5 z9}ko6ZXTXmVI+5Lmn#>Ls9CY&S%5uUj(EX6>!oHpV>G2 zlSZGGq6A#%3+rB?_9b18Hbu?2Ohc+CB{SKWd&#vC-dFI=v6y@FzVe7g7YK=n=kJp? z9C3Hv-QNc>8J$NGFOtVm`g~%_^HtT0@}I`A>z#MRJ&TWjW3%Z3! z6C|q3OEiWY(Ci-O{F2K*mH}S1%}rc2vt%{KiJsOlVfNu{S9vTLmE)3Jyy)gPf^{gb zrj&2**D-XlhEZN7L=}BbuaQw)h;7cmg%^P>s1G8E0Tw?)rdAs;X`bE0yo8m?CzEU6 zDJ^Z=F$@AMYe)p$s`izkb8ckQlZSP3^j>A6t52R3dAQ#Q>G@ykxXpSizmSNzCB{Pd ztbw=6H(s=XG<*dzpH?hC;F0gL)5loV3qI+@sCJhz#OBcKV?x1(0nvy&X3zDN@m569 zu-#C!Acds4EWM1vQye92jo<<$nI|BGN1K?k0dGg}=V_HaY2)P!7?xugD}*Io(zEfG zZUR~}l6R^mk%xH|C{z_2J^;6{T-`J6BSUO)ByNUoe!qxLxBx3bJ)n#~t~7aFFYu9f z#zRh%L=bOkk$n7zbc3Xg0N83pEuK>q~h9{x`8@Y)|T5Ri(W(k&x_pAxePo}W9766z)0{{sBU3cEe%*fQvjM>HA<-dFKQ5t&oge}p9-^;ie4qs-Y=`; zD%L*ll&d15?u8fX+GRRa5(uAdsxt4WAg#W5X->uLua5lQ|8Ij11uK)~*LW8=)LxoPN!1DQGzSB zv`iI6b660vfRp~wG9pAP-j>VPKswpqqM7pF2x>90Q4YXrWH$63;g7C!Jg*VukQ=aE zjfh#@EJNj2oBINzW+({+VX!75;_|c!cD9N(YVgsdKe=Cu;&n>R&}3fowUGW2XsMFz z_#aT^G@guyl8Bh` z(uvXMqS%wP&iZI`iDy=n?9d@V`B4rWKYC%lJ|ux8(t@dSHX(3H0~dt&hXU#_XuwX5 zsBZ_>l7IgqS$xsEMYv4sftSat`qN`Vi`+?=#oIQZoQ<*@S!~gilaE~4 z^4D8QP{zLnbHlYP%(}I&#w5qFcJ-NLqLSzg?x1po!?7laE`|%%dtvGI;WdpUBZ6Dv z8Tk>7o8*JYkTs&nShV4}tdtC@{aSZ#OlL{vFWD#}QC`=TD@t>s}~F`G=%#NsvK1w5F}gsv!!SlnBqNhk|L2Jb9F zWw<&{om=hI3_s-1FeNVHaz&V<#0Pf<_S^JO-!hW+b@wl5wTZmjz*}#Y=?E zr2OLC8EF(rFS%5b52fF{Qxopm`d0y0QJZBMw2^cd=UI;hFq&e>38qf(q2Jy;7`O=@ zaK5fa?AW16MW|q_d51tvIyb4$bGo7BMD2MOqW%gLM|45k21Z8ysF-s39g_MCo_aeI zI*0E=jdRD$nRov5WBll0+uEk22=}l)Iu+f>keWe+JP=oXLt8U|-!xcWM1T+yoE6OV z9Blvr*5aEckIU512Z4vL*xgTewpYj6wBcpEp8l}F>i5KFBWZb zSFodqr%X%2#0aDg34do0NujJCL8G@+U8o^NR-}HDSdHBHd{{rY3+mlDW+@cSLm#~w zK6EaMAf%nvwGFiT(j&AyJ;+O3q`A{3d zbfSnR0>O!L3I6W-d@ibm5u0~+2*y^WVUWHht0=EL#>2FO0Xs%u|E2B`i#n2*H~OtV zA$+dQ@g{AX9Ba4yVA90wmN$PVs_PujqQl0VBwA>1Tv)|@pO7)Z_d^HU`!!^`!Q?TC zycVls60L$Zsf=Ph|F zrPQGR5Fam96K;s}RAd!wEG<=dKtJHv;aO~$&whgL)dt;_I9$P|jj3KHW$}+_f8|He zDFUGyu_WJ`=sU)2$|KS{(Al>RzjXq9Pql-WndI{iDYJGyc_a_kUXV{x|2}oA>@h4)IS0_doLg!}-^Z|I5nvKWF?;_P;(o z{)fHr54+&MqFDaTLqzc#4DdfxQ2!VY|Cq~Y0RTFHIV(3CrwPc64QvcHG3Nnsv9fY= Yva%bQfH>IA%s9BXjLq5E*f>G|3)G3ftN;K2 diff --git a/manifest-updater/manifest-updater-1.1.2.zip b/manifest-updater/manifest-updater-1.1.2.zip new file mode 100644 index 0000000000000000000000000000000000000000..b6e66a78711e6fc8db251e91df1cd44a8a88da51 GIT binary patch literal 11126 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 Hh~s|&M3*%J literal 0 HcmV?d00001