From dcece52b74eab2452a77a5f3e69e2203607bb5ca Mon Sep 17 00:00:00 2001 From: chenkins Date: Sat, 1 Jun 2024 18:53:23 +0200 Subject: [PATCH 01/13] Initial version key uvf documentation. --- source/index.rst | 1 + source/security/uvf.rst | 217 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 218 insertions(+) create mode 100644 source/security/uvf.rst diff --git a/source/index.rst b/source/index.rst index 501bc47..b083a6c 100644 --- a/source/index.rst +++ b/source/index.rst @@ -76,6 +76,7 @@ If you are interested in the security of Cryptomator, have a look at our :ref:`s security/hub.rst security/vault.rst security/best-practices.rst + security/uvf.rst .. toctree:: :hidden: diff --git a/source/security/uvf.rst b/source/security/uvf.rst new file mode 100644 index 0000000..3487897 --- /dev/null +++ b/source/security/uvf.rst @@ -0,0 +1,217 @@ +Vault Cryptography with Universal Vault Format +============================================== + +In the mid-term, we want to support Key Rotation. +After Key Rotation, new data will be encrypted with new keys. +This will allow to retract access from vault members, +cryptographically ensuring they can never decrypt new data. + +`Unified Vault Format (uvf) https://github.com/encryption-alliance/unified-vault-format` +defines a common vendor-independent standard. + +It is close to `Vault Format 8 https://docs.cryptomator.org/en/latest/misc/vault-format-history/`, +will allow to support key rotation in the future. +Key rotation is not implemented yet, though. +Users will need to decide at vault creation time whether to use the new format. + +.. warning:: + New vaults will be created in the new uvf format. + There is no automatic migration plan for Vault Format 8 and below as data needs to be re-encrypted. + Users will need to create a new vault (in the new uvf format) and to upload the data again. + Clients and hub will be backwards-compatible. + + +.. warning:: + TODO diagrams + +Key Rotation +------------ +If a member (assume it's Bob) is removed from a vault, we need to replace the existing keys. +Theoretically, we could re-encrypt the whole data. However, this is time- and resource-consuming (I/O). And Bob may have made a backup copy of the data anyway. +Therefore, key rotation aims at enrypting new data - Bob must not be able to decrypt the new data with his old key, even if he still has access to the new ciphertext. + +The uvf metadata file replaces the the masterkey file (or the user-specific JWE containing the masterkey introduced in Cryptomator hub `1.3.0 https://github.com/cryptomator/hub/releases/tag/1.3.0`). +It can contain many key generations - only the latest generation is used for data encryption. +The older generations are used to read the older data encrypted with previous generation keys. + +Here's an example of the uvf metadata payload with different key generations in the ``seeds`` field and the ``latestFileKey`` pointing to the current key: + +.. code-block:: json + + { + "fileFormat": "AES-256-GCM-32k", + "nameFormat": "AES-256-SIV", + "seeds": { + "HDm38i": "ypeBEsobvcr6wjGzmiPcTaeG7/gUfE5yuYB3ha/uSLs=", + "gBryKw": "PiPoFgA5WUoziU9lZOGxNIu9egCI1CxKy3PurtWcAJ0=", + "QBsJFo": "Ln0sA6lQeuJl7PW1NWiFpTOTogKdJBOUmXJloaJa78Y=" + }, + "latestFileKey": "QBsJFo", + "nameKey": "HDm38i", + "kdf": "HKDF-SHA512", + "kdfSalt": "NIlr89R7FhochyP4yuXZmDqCnQ0dBB3UZ2D+6oiIjr8=", + "org.example.customfield": 42 + } + + +When a new generation of keys is added to the metadata file, it must be re-encrypted as well - Bob, with his old key, must not have be able to decrypt data encrypted later. + +Furthermore, for technical reasons (which will become clear below), the above payload needs to be shared with several ``recipients``. +More precisely, we use different Key Encapsulation methods to encrypt the payload for multiple recipients (a ``recipient`` being identified by their key ID ``kid``). +This is done in two steps: + +- The payload is encrypted only once with the same (shared) Content Encryption Key (CEK). The encrypted payload is stored in the ``ciphertext`` field of the encrypted metadata file. +- The CEK is then encrypted specifically for each recipient with their key and method, and the resulting encrypted stored in the ``encrypted_key`` field of the encrypted metadata file. + +Here's an example of an (encrypted) metadata file with two recipients (``org.cryptomator.hub.memberkey`` and ``org.cryptomator.hub.recoverykey``): + +.. code-block:: json + + { + "protected": "eyJlbmMiOiJBMjU2R0NNIiwiamt1IjogImZvby9iYXIva2V5cy5qd2tzIn0", + "recipients": [ + { + "header": { + "alg": "A256KW", + "kid": "org.cryptomator.hub.memberkey" + }, + "encrypted_key": "6KB707dM9YTIgHtLvtgWQ8mKwboJW3of9locizkDTHzBC2IlrT1oOQ" + }, + { + "header": { + "alg": "ECDH-ES+A256KW", + "kid": "org.cryptomator.hub.recoverykey.{keyhash}", + "epk": { + "kty": "EC", + "crv": "P-384", + "x": "z7S-cEoCC0J0H42jocPnEgMr8pr0wyIZgaMvzu4We8B_nQkF1zpYSGZRcD9wI3hA", + "y": "PlaiCkoGadNfVFi2ju-Dr19CewL-kjvXI8ibFOWaKizPh5gWjm9BFvx9Ox41Ka8x" + } + }, + "encrypted_key": "6KB707dM9YTIgHtLvtgWQ8mKwboJW3of9locizkDTHzBC2IlrT1oOQ" + } + ], + "iv": "48V1_ALb6US04U3b", + "ciphertext": "5eym8TW_c8SuK0ltJ3rpYIzOeDQz7TALvtu6UG9oMo4vpzs9tX_EFShS8iB7j6jiSdiwkIr3ajwQzaBtQD_A", + "tag": "XFBoMYUZodetZdvTiFvSkQ" + } + + + +Vault Members +------------- +All vault members share the same vault member key to access the vault metadata. + +The shared vault member key is a 256 bit AES Key. It is used for AES Key Wrap (``"alg": "A256KW"``) to enrypt/decrypt the metadata CEK. +The wrapped CEK is stored as ``encrypted_key`` for the ``org.cryptomator.hub.memberkey`` recipient. + +The vault member key in turn is stored for each user separately in the hub in the form of a JWE encrypted with user's public user key. +Upon key rotation, the JWE for each user needs to be updated by using the public user key of each vault member. + +TODO verify: + +- generate new memberkey +- encrypt memberkey for all members with their public user key and update their access token +- new CEK -> encrypt with new memberkey and public recovery key into new metadata JWE +- upload new metadata JWE + + +Recovery Key +------------ +Recovery keys are supposed to be long-living (print out human-readable and store offline) and should not be known by every vault member (only members with access to the private recovery key). + +In the key rotation setting, symmetric keys cannot be used for recovery key encryption. +Not only vault members with access to the recovery key, but any vault member must be able to carry out key rotation. +However, in symmetric cryptography, the same key is used for encryption and decryption. +Key rotation mast be carried out by a vault member as only vault members must know the metadata containing the CEK generations so far. + +Vault members may also be notified by an external event (e.g. person leaving an organisation), share the new metadata after key rotation with a restricted member set only. + + +Therefore, we use an ECDH key pair for each ``org.cryptomator.hub.recoverykey.{keyhash}`` recipient. Here's an example of such a key pair: + +.. code-block:: json + + { + "kty": "EC", + "crv": "P-384", + "d": "cMyQpw7YIGjop48z1fh9fekbjwVvCThhC0Owumzv_hTHkljBAG8bnMUSbts55Vy6", + "x": "BzMNrgLiKSi9-gJ944_u7YgdXk5UfzGzSFlbDmuQS49LgVc8JpMAm1rAYhrLV9zi", + "y": "X9rATILnkQNx33tIjVwkgVZj1E7r69ZN1K4QHvhjO3tgoBGiIbvf2D14CaFPnvM9" + } + +The private key is the part that can be printed out at vault creation time. +That's the ``d`` parameter above, which is a short bit of information that can be easily encoded in a human-readable way. +All the other parts form the public key. +During key rotation, only the public key needs to be known. +The public key is used to encrypt the new CEK, and the recipient in the metadata is updated with the new ``encrypted_key``. +The public key can be retrieved from the hub for key rotation with the vault's ID. + +The API returns a JWK Set, containing the public key for the vault recovery key ``org.cryptomator.hub.recoverykey.{keyhash}`` +(currently, the JWK set will only contain the vault recovery key, but could be used for further keys in the future): + +.. code-block:: json + + { + "keys": [ + { + "kid": "org.cryptomator.hub.recoverykey.{keyhash}", + "kty": "EC", + "crv": "P-384", + "x": "BzMNrgLiKSi9-gJ944_u7YgdXk5UfzGzSFlbDmuQS49LgVc8JpMAm1rAYhrLV9zi", + "y": "X9rATILnkQNx33tIjVwkgVZj1E7r69ZN1K4QHvhjO3tgoBGiIbvf2D14CaFPnvM9", + "use": "enc", + "key_ops": ["deriveKey"] + } + ] + } + + +The following rules need to be respected upon encrypting the CEK for vault recovery key: + +* clients must verify the JWE signature (TODO unclear) +* TODO relative URL required? +* clients must verify the public key hash + +These rules ensure Zero Knowledge for Managed Server: + +* protection against manipulation of metadata JWE: TODO +* protection against implantation of new public key at server side: an admin cannot implant their own public key into the DB (jwks) unnoticed + + +.. warning:: + TODO unclear: Lediglich ein DB Admin, der auch Vault Member ist, könnte hier also noch einen Angriff durchführen. Dieser Fakt muss dokumentiert werden, damit Vault Owner ggf. vorsichtig sind. + Zumindest kann ein uneingeladener DB Admin aber nichts machen (Zero Knowledge für Managed Server ist somit sichergestellt) + + + + +File Header Encryption +---------------------- +.. warning:: + TODO: Differences to Vault8? + +File Content Encryption +----------------------- +.. warning:: + TODO: Differences to Vault8? + +Directory Ids +------------- +.. warning:: + TODO: Differences to Vault8? + +Filename Encryption +------------------- +.. warning:: + TODO: Differences to Vault8? + +Name Shortening +--------------- +.. warning:: + TODO: Differences to Vault8? + +Backup Directory Ids +-------------------- +.. warning:: + TODO: Differences to Vault8? \ No newline at end of file From 4530bc622bc069ccda1a12b00766b977053c35a2 Mon Sep 17 00:00:00 2001 From: chenkins Date: Thu, 6 Jun 2024 21:10:21 +0200 Subject: [PATCH 02/13] Add diagrams and describe key rotation steps. --- .../img/security/uvf_key_rotation.drawio.png | Bin 0 -> 87503 bytes .../security/uvf_vault_creation.drawio.png | Bin 0 -> 59257 bytes .../img/security/uvf_vault_sharing.drawio.png | Bin 0 -> 39650 bytes source/security/architecture.rst | 51 +++++++++++- source/security/uvf.rst | 75 ++++++++++++------ 5 files changed, 102 insertions(+), 24 deletions(-) create mode 100644 source/img/security/uvf_key_rotation.drawio.png create mode 100644 source/img/security/uvf_vault_creation.drawio.png create mode 100644 source/img/security/uvf_vault_sharing.drawio.png diff --git a/source/img/security/uvf_key_rotation.drawio.png b/source/img/security/uvf_key_rotation.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..cd1398567bd69f7339a7ed5aece55cb9d0f3b158 GIT binary patch literal 87503 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

95Zio%d_MY&ku295da$Ja+3G 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%0DvTHbYT04X{oJ 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 literal 0 HcmV?d00001 diff --git a/source/img/security/uvf_vault_creation.drawio.png b/source/img/security/uvf_vault_creation.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..8a52ef0d0d7a3d80f66d3b15d80abf36786ed767 GIT binary patch literal 59257 zcmd422UL??w?9ZzKtL&q0#>R>F(H*AQbS2XF9Ae4X%Gk@p-8o$h)7XU5X44NK#;CT zQE39w1wj!+5u_^}1n0!}yWjiX`QN$!JG0iTnYBVl9-ecaz4zJWw+pcrW=29gBzJId za0r1ri(y= zH#K!tC=}uN*ZpopFWSF0La0K(21oI39%NdeAA=+Z(*xg4Xn|fn;5WDo-p#GS8v*=4 zAudpa3rZ1u)b;oG@v`@F$C3l()G!DbN)?6#mycqNZSXibHGS~ehfMVXzl^**sDA7v zo&jz_s$@TKI~1vkP=$g^`lJ9qUvLvf9jOXYg(H!0KqZ@?zxiX|3{gdaYu0YwZUN+f zJdMq|SD+j5FSf}joIS!64|CMR82Ooybbai6(0{SZ@(N&(fvo;W?mwQ*UK|+W@AcPJ zPcIhP0}!Gn2Qvf`_awU!1KfPUE#!X*)r;Y4<`?V`;AKo8`Vd0R)$9y)|Jt4A1~~Y$ zwFQu?3Sf)93Cb=w&;!AM8(P4jG%6KP9juGDhBNIbG^~wTpr?nL8NwG4XyNT+MRdnF zGW^~398f@%K>8S48qwa8VPxaw;SkL9@Cfm?@iVlwcJNm>W+It(A-Z~A!ElBJ#>m?y zRLw`%k7yV~WZ3G$h(WqcLu>mG7$P{t9c%4nim=hQc7Pb@)2+aEUO_-v^h^x({PoR= z3*fbM&)^+S#L- z`VLlh2$Ze0I)Mo`baX?};TS6_$tuvuFO=er0N3qpbKvVgnetbO37G)og-De_E@TiJ_Dof>*wtQH`g<>GDX3uSVxSpg&|N042EEBZ-uplTX+Ry46WccSe!SN z!qg8z8`76Ge0|j-2fyp(A*~wi*&@3t;hj5Oo*DHEy2yxDkLBf5Am~R zU~qVIYM>?D3#JxguZK5<7$7ap^c^q+cN03C4A=GX)wlFD#QK_`147MgO|fbOYcq-= z5zBBS8d9MInwc$IDkL{OEM5%)j!F+7=mxHkFyM_$^0Gl#V8N+lLP;=VI-D6~=kDfV z3Jdaba92nAxvP7i9ZW3({3s9`3lh=HgKX`H#FH3c7q|&F$j+32!ea1d-e5h^(=mW# z6o{nR;-G2)RC9ewsGA+xl7tKfHjnWSax`_c#j&v7FmqivC4dnc;A!Y+5KPn~dg~j9 zTDW0+m?8ddhDJ!Tql1Z2pn0$X(UJhuw{yh9DMlnyIKv#zVj58b2n4!~rMnf<*usbb z3$djc(#XN)5DQ&fnuD>mnW4HL&4x)uW3B9syn!RbP`#{ZKr1o&dZu)DJ0Bl&tS-S0 ziuSgkAQ7H0tdTn2jft@^v_+`Hd;%d*8qL9g=I@8KwleiVTj^VqLLgS5G`t!k*gBAI z?QidiAyEkGYL*TjhPswm3v@6LgcY7fut8AVJ-keOXlNY8FF-%k1LyBAq=MZ3E zNAdSkCtF&CAl(_3I0gf1Z(xi!3S{a9G7t#7p%>NO*AQWXc3@&n0(EIbD^p8%s43Zi zU~G%QS(+GG+gj;|dU-=_^wDHX0$JbN)8F0@Wq|R*d-xEH)ckFX{Jm%vR_+E+CY0tE zV&S1iF$rS&TiDst)x605{^kUFFu{{X55yyEVV*PtHIk`upk)BspUm{L#W9hl`Y=;V zbdb9P1Z_YHA_t?ab?t$`U@T)(J1mN9;C~y&!d3CeT z%UunMp?kq?t*re0tc}>-ff|AfHN)B=L-gJ39dPa-wCEwoenG+NG8wz)54&;MSgSvXw&+is%*+?1opfXByetBD{i0-ZXnhJG8f@ zAAzQ4W=HY`u_gd(kFjUi5lzTQFIyu=LxizD(ICVQ=|MIy^<-Gu8NuLKni`7c8yo;P z#h~zdNIk>S z9%^jg2!XQS{q+5f8KF>9Ynp`#6dhvC!ei8e{aLRkysnuCie^s>G$s2|Lv8dR_K-khOItV%iBR(g`r#Ky zu%{Z()E&sU5U8=eC*6h#hx&$uLUb9v9+oV3Ba2`Vm>dG(!GsV(P^cq5&^i#S9%vit zYac{L1^^l{1S|q;OYRXr^AUquzc9#u7)uHnL}n!4Rv*vLq4-Fb^Uu&?p34A=;=Lg@%R_>=}Oc zcztM)n-M%npK4Eb^z${u<8&=O^+_0_ox8d>)lbb6Vr&|yMpO6pA~_%ftlY^6pAZ6^ zPB64F3Z%o#F?!yH=IVG$V;d^PieO0uWQD@qf=KW{{UA#>9MfDKsD_<26vjYdLZJvG z-B1^)=N5$V_0fkJGyIIP_UdLpGyM>uMnM!JRxcExXCCNa%p!ZiJwiPI($mAb2Ll*} zp$3^4GmUhi6bnWmLCx9&%Ax`%fw2rmu}#365@g{P8e$4H0$=pZtqn2$-~)w5Hb*(K zOoMgR;FffEa|5K8E-KK%Fc=OCM0i;t%n2wuRNb8|LA0fR5CIR?pvijvSgIF}MPXT3 zp-tFw_8?K*9hh`1$^>anLj_|YI7_-(h#}2@p$_a@m+8#}5tE^g^kjyZLm57H^iZ%N zg-Wtxc_RXF76xjBAT}yvzW^A;{0E}@1Mk51e_?8vA^fR29|y-_4if`io8Z&a8T=oS z)XKamc{O(X+xLp!&v_55DSNz>?C4*bEQeyRI z6j|TQ&i+^F4PtXmxv#t{*S}xf!uyWvr$Kd6HejAJPMUnBHyF-KkMmCPmhs<;`upW6 zooMK@CWjImjP|1`jX$5XwSUIV8zq+Zk9!0aIO9s@e|@rpTH04n9z(roE;ju4bHE2( zu_ClU#|hs(V$64WPXb=YDLZ-oO^CcOoW1;G&;RSoLjduE^Y>qir~ZTZ(i9!z(P@u5 zV)Sp075Jsqrsyp9Gk(YFX0`MlMvY=yrOm4+O`RkKi9Y`z*_BI%|GaFw_x3GGsax-v z5Xc^X;rUaCXFmuNxGMQ7x2+1!*Yi~^+)6XL^i{E9y7bSJi&N2&Vi3;1U;D6!1L@0L zkOM^=^A~k~E$h3&T%|^O30kw9#yS&oFYFHluG!?@Vs}`uPREjtBSem+O8m zhlYXpx(js!bk#H5SniumdS2YFO0Kk#iXYA0PwSlOIP3OCeTk-iS?uRXYp>*oY+Xt! zfknUlvJtU!zvwus`$8UssZF z!v{hX&409w-poGlb}-4telWYJEaRVAt8zHekVjU}^xYQEJb5HSN6!Z{QuV|5X7>64 zi3DwODOS(;0o9=)wdFgi;D@$r62WF>PeKg27t0ENqMvTEXnc$OaI!SmVCsA@5B5R0 zDAwczd=MFVYHz%^Nn7}y_s0)zN~ssnzowO#z06H|busG8=%d8Q%SL;|=<=F~fO3E3 z&})e;f9P}OQZj#rccW_lQvn=x4#)9zVxO=qdoLwoqTuoK{v#8?k2C$lggW`I^<9$F z+(${fgX}!&n2zUov3Em<3*U1TAxB?d9Us(@l~C{5-Qa2J_7nDQOu|)qB=SqxH_kiT z`#4kLjAoO&G-Ea6A1{d!C7C_pX_r%RjO)fdq%>80$aP3>b1F|3PyUm3%Npefvgy8W zA|}i%-yKdL$p0{qPA)D7gQ(Mq6})Cw`W?yDDVT8CzS;PG5Au2Ao9AQe8wY<#J~pE- z7X>}Z_NDx=)K8a_3NyY%n!J~N zz_eFxl=A14?sw%4CrH=S@Soz!=TG0CU{&x5Dv3BW@1L&i&?^6-RQ(dB*zRg%&fAlB zF8_8}vf7-zx^2Rkp2C-x)FWAOslV6cBN-2UHCUxp23=D)Q1G5EuRnE2f^Tg6nC{Ncq=jAlM+){h$*5Z2X8pQ*5#6(Cngbu_Zsid5D>jkw zmMpk7BubOaxE9r&6^ZRM`9+orFWB32-C%R**^%b!KN{s*^rzmJs;Z_UAAP?n8X`{I zJh!s(bY#mT3>WQgPUS>M<_%|6E4Ozi{|x`9<&=r;Ge{?EoG!jmgK62?->)NWBt;`_ zgg8qonzE3;cF!aIowW=tYWt70J3f#Xk)dY~Q>$-2sedvwI&^TU#M9u3*sYzpeMd8X znyC637wf;6RZi{8C0|IWN0Cs5vB!K}lTQssTUiSuDA_YVuYFGywHJLb2$vo3G@y2s zhSyAMD~UUqUoARAAL$Nm-Fztc!y??K!ysLbnDzaR=MExqlPYxetU$-H3VWP)m;`w_{;; zhKigk!s_NXO5Uw~4^NA_i#AEp-wpUH1^N^x$7Ib)Jp5Q1vZ4KVpa4PR=oOu=(R|43 z81#ek%dxtXS>!8e(zj0yp2zg;FFAGY`fa($Vd_5&(3R_ga1mOG$KzgVsVz>>@i^YE zcW2t0BcC1Ib~)1e0>Wzl6OUh|UFj(TE{d@qj>-S*#g2E#QMZ@qby(B-ivLe{3gYTU zeOv>xsAc-f(h^LVNs!)@YU}JKPuke;)4tFTh50SN%XhonxI<-E`fFx?W3-c>o*e1oM32ILJ%mRoxab@V1^dI?brNSEmrY@a4RQhpEK+j&pUlpdRqUU-RO5 z8l{ehDwkZLREV6L`Uk4kv*C*5a+~=NC{x%?Ck@wrt{O<+PD7S9KcG)(#`?Ao8s=h#4RD(n3>>FabQTxvy z49edkC-Fr$L@SMolp5ca8^u{m%xzC8g;38cskBRe&VG5N6fJe-w)NjU>TvTL-yPx% zJ8ivRjLy=}AJn?>RN`P6ni`Y2y|{bS=dh32KN!Kw-BrArR$Y0vK2<#HfPivu@1Wql zA#tJ#>v@AiT*lPne{3AYwTojo39Ts+EQ;=aD5+mJnh$-_Ld$J%V0oLl{jHrs3Pn=$ z60xvH@EK9HcH~u|!c!mKR-ma*FRHXVPM@-W`!~#aF4lSQFwrEv`d}vc8>1~v?3g(5 z?GIaTtV+9@41?<*LeSvMIJXR_G=nWiSG*0#X>cg{b>od=TnVl+tmJQHFTGH=FRsM< zdG~03Y6RA+tij@Jf>8T`d6t|Uf7HGV*xNItrD@ERBGSA^}{@G4l zUknnR$X_|cH=tQwK;w$g-o6mkFyQ);V(vw^s}g8|0j{*l52zpK%I8t$4dV~yTXp`m z;!)RAC-7AG+Tm-EYdY5~uDNc=LSPVH$e|+tUn>Q5$D^mBH8{SM`Xk7Z-e7}*v-h3P1MgtQMMDK}1^%=X1LWK}qtf2u;Y4ZI zy;QRD=}baG#NvZ2yTE<03baz&lnXbDJDbC7d;3x4@o5QPejkAsJNEORx_v?*2RQZI zD8Sf`!&R3W*^JdpDYv%}Pnq(U#g!26gv6v0@1$0I3XO}EPa~z9eqw#_&42bS?Zx~n zfw12j!{f&z*96AX8D@%yx4&I{XYb8l+-(UoR^G!fn>Ao5Ac1HX95DC-<1~w84RyFQB4GqO+z7 zDt?v~hQ~*4PPu5UeZBT#prJMkVP=$-A~p0QoV+O;}Jgu zRA0>N$)|dXsy?5P{&w3>+w8=W&9^&eXc6=04$ZeH6&3-p8Z~AHcALET(I}N)yS3ic zJW#VSD>am7nXA9+#C1d;;T*t{uMce{j%P;Rsa_t88~(ku;#2Y#skJ(CE-6@ZzK%Q9 zW2Y}`WjN11q-w54)BY5Fn?kxj*UC`Pp}fMHP|wz{*US%&)qc6E8L;pcRnn;^KwtfQ zabch%B4v1Mxnh6V{7dDU)zS3Gtu?LrD3<2$k;&b};_!+gR@~1nzDypcieG&W!~=GY zWI5zeV9(KALrSdij2tgqgR?l1`)RMLr2=PUe2yBWqM`Hn%yO>c)e?>mAwf-@LtYz> z#^4A9GA57h!PIpaxgCXhdD2t(?a`>c$J%9^`<(nvlz$AsA_qw_SJ9(<+CP&L{KszC z7dIU|GvAFpPXCrl#FX{dx}2FoEPrHl7^kb0zjsfX@2(bAl2kmi{ynGZYWhsYa70&! z*~!g7?+m7$orBjNuG}YcKLs zut&{8#+<<@mTRhNc#|fZvQu-q$k@VEP_=royA9EQDrt4lJx)biw%rEBUx`(Hc3yL~ z@?5HS+9P6w(V=j7?fSdI&QiQ{%Z8H6+K$H_NjDoDywd{m`>y$l`8`ikKbIy(DoM8H zD8O!v=q`A1$y*>fE2O-{SX+4ck?{xGa}Me6nzZfTWL+u&EZpW-NQa2pm$a#2;d-n( zPTniW+G#I-U{YKnLbet%e;aUpfA5hHUvHsS02LvMMk*D)2)I68FJ`V~S41u?SeTS+ zhX=^hgGOT&Fr#MFhSEKcXgodGCveJm&Q;2UelKe zeA7Gtj^XXLy{ClZi{EN*On2p;D*WYr+ZQSB;F&}^kLQ}amifyQE?F^hR^VH}x8{0r zVygc^kxct?34g!r>uy6Yj{4iZxcw#Qwc6XhTRKyGl|!Tqtn)oC{?)ak!rwR?9MXk2 zRL;v@h=avG^c>7Q-?#cDp(7*clSKR_COAG|dtH*no?mgJ#yv-v1x2rRBw0AQ$I1b@ zr#Mm+ud09BcQAah%W^G#H_;>{Z8kS4&pGH_fb{)eay*eMRl`5t`c1xnOfR%HQ@^kV zj3obnOl0PzlCR?{9~tJdE%38_N+^{SIK#PFILl#Or~VA%~~{#BM**5mIF0{1bwlGWg_slBiH?5l><>`ih# zu3siW>lGlr^-IFZgLtFfCvn8gaMq$`!BQH%QKIQGEUU{#$63;3{f&8qD1TLw4AC*C z>|;Rdy_pq-TdrJp&djQ-R!ysw4@Yd!IgHbpO6D@bX^(RsT~CY16;a=;%|hrwzeMtOZ=)^tJb^Ma?^n_gdZ1u_~WBBAJwz;Q?4=A0)=k+d{#uuBUlXt5)#Gw-R zo{=p^V+|KfNA`@I+ZHwRe6ffu(Dm+vtxA6*4@F^w^?n@;zYOABPDyl z`QSBQ%s!tYc&B>ZXL^Y`bZBq*$hO1XnLT)v;phY-b7TJpTGb4Jp3OWhYIbt#N5TMb zME4)XNM4XsY%lfpO(SQ=BBv7XcBesyGy~$o@kY~jpMc+MFK$(pioZ?{y$90R!^f%( zuJsko6usU_O3Ugi+x)yM@=~_;vKVpj*O#}b;Vb9wU_SIYQVZ^^k!8)M-Y1iXE8T0EzAzlT}tJOyTM86{oo;_U-%M-OWCd3 zUOq@s(guVsjK&?u$heII-wW?v>aX3}gE#4Y=Dof~)LxJfC%8sG9mSnBsgj-So{eQY z#Ro#L(i)u8cdWsQrC#f#OB!FUz%10CmnL0`$j&&TS$KMk?D!yCiZXbwFPR*E8?%sd zD&UQ=@sq0A=N={MUlaAEH#BDUnFM`RCk`4Ie1|)(wz_N;QzJ|c4mJc_R?NPH8EmOk zZpUOjR@^&R5m@iz*?>5UjLt!){J5^(aYSZ><{h3v?~zxs^R5ceC&A=8RwD7wgP*n^KX+W~{YT*}2h&*USbh$|bXsA!%+g5}}_o z9YaJz=V~@o8SU!h=ym3(FWc)!I@bn%Py>m|Aub>F&OFY?zEgBHN zvMa{7!#2zjJ^SY6kKmW@`xagU5nbbZ)pRFYZ94SDiJ#YGZx{maRg5`n^)8naH5B=K zv#am7qmsgrTxW$=z~6JLcjYyj9N03?g@n?34=!A<;8qB}y;<5EmdSrbZiMx^iLpwb zz=P0mtK(vWgMQ|qUPEf1naM43T&PPm|HSZWG?8wJ0~6Z{D>^rai&o?CVcYP#v0$sS`iw1pwVrJkc$?`qm(y} zPU}PcdFLO*9E3RA=uF+6jE|CwYw29OrPB%&h@(PEW!KOB?-mwBW*6M(DKbS_b-ej|Gt}@Zi2qV#mKRxWRWSNbb&(ZwU>Y*u`~*tAD3MwX?I>gb@hJetI<2 zx}o_-q; z6H+bgmBaSBpMbC)I$eggj0(Pu?Z18^K7DP{Oh<;8cE9*JCrH2y*h_cu{C7(!%?$(T zbs2T=hE5-*>TymiMS~DWFyU(bdAAdcnTwQzidC#cw z(V*Sbw#2xSIc{r?VZ{`R5<^owc#km5MIO=yp8Ig6=0p5q{$M~(X2Rkf!Ov`knk&3J zTZ$HFInW>p`#L&(#MOG_iTk5+wTg!5lIS%@2Tl7Ho^B91lJ4C2Z`an3`iP9^xz4)B zmTOcPMK48dI5}hO+j&CSYfor=qUZHfG!npC|}wwPSmZuw_hfP zkUqqdYq|Kj<-0ys6G;jG^z-|*RWmWt9so@ShQ708G)uCx=NFQO7|fH0#EApp;s!h7 zN)CUtxGJKr-2N#xh#Xe1zqp`{sisqf#lLSEd}bxznF&0@))maB&;RZ6W9{PHX1rnZ zfy+hRFH@a3S3J!pcguH@0M*-rGC#z>96-orWhT5lVLJ|V16est!ISBBN?QQ}hpg!3 z+lp*nSbIE+`f#&~<@4eIx+L6|5s!1VVXxjLTp@L?glcMf^3b_6kK2K`eEe(QrGY%y z?$?;O_QTO>(n!cibHMj4)JpNe`#;=y?QD0sqFh5=Z|-Ofw3HX-0^FZF^KzzfWI8Rm zIC1qpjCYJbOvp|${| zv9~=i8c@UOBba}h{!F!_Jp8~NMw7mkNT7gY3Be4Mq{9nEJ; zRoOhT_ZIRYF$*I&qa147Fi;yM5#3VW^?Ru>^29d)(8oah_5{g-S7G(C`^5vSk>^uS z;#`vY&K#4~Gz|F>KaIkYtMCPWZ&;#jNkm6Ds z^NU-KC3RYzD{S0C)vgH<)9Kr5e{aq?_?Eqswk)4|QWdZ^cGKwo3`mjPKq_=K;>nqs zwYPqMG8ZoMlP7=Fi%kg=zi?}`dY_f9MDG$K3A2?~v-RJ~`-P3IVQ=9*2H_c7rz1C) z0FF15jxKwP{9vHG2whn0F;7_U%DEGIOq5j8p{)rLa_`=p$GgHuqIspC%5w%S4-gq0 zCsvBOFj7B&VlxKGIfh)*0P4oApI$1!9eM@@8azlr#LR(v&F$68h86ZvBW9jlG@cY!K!pKc38`tK_SSb7$ zq!t>=P%>BR72f;RZr53XL0P`y{tZL0L{NV`qg*sm6T?r{oN zDxb~46&gxytqIkSy_-1xrBTXnzs%={5$65(E*@+-w@bSjlq_Vj?}So%6WSrK1uY{h zhgcsBVYuGCcLG`zl`B35Xf40@Xj30gzajyXmz3*i?q@^Qv8(}w7V|@zOG(y;(9B13 z)gU>4P}+ZrAp}T61`UU!-jrg(EoN+&0sgh?tui?BYdasPe{tSbH(BDD4ApsD_Qzk8}AYZOTsT3|uzhzLrvFa>Y#Q2SCkXe>|vcPOncDCS<#{o&5c4 z8l?YS9sM9P2HDReje3U+m(}9KE7kHAaP~QiF{_~Hs_ci#U)RuM*R30k4}VWkjSmre$_QP?gGVmzf3@2h2TgecjIUJ`t1J>*(XiJ=OOz^Ucn#gtYZU)nrTkWV)7Hp( z_syDmkTP|!3k2bU@5)~7P%?<5l3xO7zYF9h#q|2rh);Rbk8|IHLgv?InS?9Znv{c^z_9l) ztq{|Fgz=B7%FW@0{JZgN!!{VA3AR5`R1^r&rd2QXK}9Vh*IHffr^>V*uhm+2eKa5= zdBlmB!F(UsgMS9f828B+)57l$?XHT2#n)|qH;)|cwKk7W;U#(ESI8}%((RvuzX-`^ z1X>-8Saky>ggYe4ADf7U-6#PiCZm&6w#x=$c$@R+yaf=_sV!p2udIkeorhdz zSUJpJ*-ey0^!y58Y5+q(0W&}3zi5k|r+VdY z`xKLQ`<@d*c9ve1)`(HIeZ;VTq|91BEp{{w1jm=L&;K0;NY}W-FZB)<0yVk`iV2F7 zbFzBMr}@tS6~TOo? zOrvihB7~FWD_33j4DTNWJ?(s@Vi?dH;}|MN?wdG3K47Soo3COnFuAYTb#;3Yv?w&ipr)V4QHQNBW`X~T*S$UEK-%lk>i) zXiiW!*~j6SUjLUL@9tCwE%p8tznp5+IS@DL|+_(n|3e?hjWJ7Az@XaXx z+uoHki0HFmb@R^u0{XQnf)c)|w7;0YvcIp%S_Sk&A?Gk>il4{WDFrcOc7b$KfVOsil=jL93nn@?71Kg1l5EPpRtDSlo_)$zeY>tKqrNj*=GW!8J7SfvPi0R> z?@QUIv&g5oRvBNED_+W5C>b2amQnop!GH5xi`XhfQ%NmezK=3_J~xfeR}%i z%Hc@FiQEU90cO}R_`_mBp z(d91!!7}YD?`JUI-TH5F{R%t(n~i?H(Isj6Ckp83&01l9UdXQbMStmiIejqh1P(0M zu3HyDlffP=Y-|{1z20T20Gbt_*@;GkHy8jpD_?XHf-0hQ+Sz%0G^~427x8ZQxE1d1 zQ-FMb^)qQGNvXyxiP>?PX#hs^OFM%af&2|cIwuAaqO9XuilWzignV`Em@hNv?ag&XdJX6bm;#>JwoC&m1N zdUZ1~AL4aKy$Ri*&cQAsNTuWyeO_9OIV=?9%K6QYbDBeW+Y39L2>cs&wGq|`&q!PL zK3`4zVPU}6M;edlW!*H8eYLRxb8}MzCSKN+{_U1xs1xpvym7%HhBRLw57CG&G_J%Qt#LD%KiJXZO_Wqxb+$W>Gk-W4uUER(w5={r<@fX9 zPXCetA-P1p65A*$FdQM~!?#b)M`b3MLJ}M=v1_PB+Z5SOba!IRqPU9pY5w>5pFd1f ztA3S4O>z2dK_9-HrtCFyeF(wsAX!(@CFaE{q%JhILx}IQ#~;LQK5iI*oD3IwT-D%k zF5ULrqrsi4g08n?4%!ryF>*MZLaTmB-fuE2zoB#7Ev2_YWhN#&C~qdw7}VblMM$j+ zUG)*~M)Pxzvb3{A=Sv%{ew0fy4&;W2&fB}9M!s+FrFf4RyNbJN9)b*UBn;GN3r{Gt zC5M*Y8@eS~xtpMM+Pr`Fp@H^!{?gBDl_$g64i$Hf=0}^Aya9?>%|E?sn%yQ6gXCsJ zb4Ndj0u`bjP$BB!d$`9tV~G-4^;B#g@A@WNy>%IRR;MR30i!bu0a+^fU`aLDAe>*B zCl{6~gx31x`M~e~Wm@MqIndIozds#)xrGUphY0d)7xCu5nOz~3Hduh|sSHci>EcP- z3fukmLEA6TVFPL*AOoDlg?sxSUs=4Lt$1~?>&Mq%XGdp_#aE@iFT@^Xt5N#Ve~Q~8 z%`$Bo1*Cu~II=AQr>Hu8@f8iVDxdNVs-Wv?V2C3{$MRKv&tv&=sfBvq4~}*54bm){JY;9I zy!IhH{a%BEwHD$l%Q0Ojgk!hOrur9HS1HmXY(!&3ekA2=yGf6_7nZw~TZ#Mk)mrzd z>Ee@nZFq?Q5kOR<)y_K*`SDa#-xZ_wMf!v~Zyf)1++A{q(Hr!RH=joHg|D#xaTZaScZbn^<8g7U@DL%Kn$~A93@|Hj{>BI}-_`^gyX>kmW1x|sc$l)Eo z)U*rpW2+2=Tx2U7@$wes5UDrWiZhKhKfWENd;#*cp=k(8l9M#koeRo{lfHt58hnz!h)RU1wxH`ko7!#y0EQFWOJ&|osL28r&I}FN_9y%O}Qyz2#3i`)xVA*zWuLmxDU5*wOP*8@6#JdR%W(!Q3qvr45pP z{XMAvc?6fZcf;z4^;7f*iOSMj${BI|U!_NYT`Jpis6XYuRR_?Dg4)NepqZ&7u5Nb9 zD`U~E90ezPL=M;B?wWDU+N-orUO9OaOn2oVzVS?aea2rY_9nhl;+Bp)*g4fdt0u(A zHDfh#vNtyD0snO!wm2O4-Nuyjq(^uwk9Di&?B#5_>+zcBu?*N=b*d-&N0dsdO5?NJ zb-BRNIi|0PkRhBW>x5XRvA7_?^7^DFn0X%Mw#W3YnID5C9(juGS-0vg{t?H5M;GYj z^u7Nh<{)Vm`olaCI5?BZk1+EWx|hoPYwtaGcTQ$ky8(l33Fp}38eq^Uqq%M(y_3gE zqzHn&@Tl{4AIH@M6kkYrXL?2||Dpo>=KRR(t2@~f78AO48JF~5^R%$ZJ@_F)eU4js zTYm2x=JzL_9rAx}9Z3ve*|HtlF>+Ntjpt)5S`~M9Kaj?l|J&p#!zfHU>rHa=N*ZYJ zv&9z>lX$J)q;8jg#-ejMAA0)%UU>^GK=o+q&g3t$Kh|NsI|KR-OQ7TV1^-BIfWz&J z>^-2-=}k}JS`xUdV~LW2~+n2=rjeWNp}EmRp<@jB1j$&V^;4; zTn=(JQ&WM+_Qq_*URd~Fj>l38Fgn;tR1J;^-b`iry?`?)3Xtf)KPR6Rw|jVxEI51J z=U%y20t9#7sB#`S3k+e8VCmWE6kgSY{>&5mZ=y8kRp$e@ja6M*7Gty9w{_HyF0{!} z@%~w~9p2^2F0N&ct8?#7BaKENu6`pEI=&SS@)iow_EFcOtKDUk+a?z=HN`<3ecYwz z9;jwql#et^IqsBm&rF$<2hD(JRrY=tt3!9EW)2 zFa6#ev`D6B;qRiNw|yxyt>vuQU)$`$ozHcO>K`xbFA33}KLKi*!h(XY>)dyMi!Pt9@ka2-TQb>H7XR#jN)9$+dSb)@5@Y@ zS5yZU(rA(u@F>t<9Gd4WpT<}+Fee%hX`_M%awGk0LN?y`)xFzLiBJU%a8Xy=7L+Gye4#rk>}3=VSNx%N#Su(*CU ze@LRbPZ?!K?6l%C=gQo^D58HGLo%IzR=20_oJzq$kqtGvQt0F1PqHTAKYi+kW41+2 zIiLZ9)k&dW^XL5;F7NfmS zK{Ewk`(T>D5Ja5NTmO(LAEOn}m-%3h?LhQg+ipQ;jRqwpzQpfcIz-k;>J&kn>91Jq z+~A6{ZgSk|5_6~YK3IC;AfNhlt1xKpsiQT?OkluIHTuZd0EOff8}7N*&e-#(HJiv2 z2V2}+TLK>zZmd-FCkr{FJM(|@!_6^G>@Z;I?Zk_G5d1;b_b?P<(`R|U>`@X zcug4S6=r;a2ksgxI$nfk=8w&LO_(TMMl@MWL?^zk5rl$ql5-{3?2PJqB=bBn%4LJ3 z$tH;T8o>jn3P`P+q-`vqMUp+=|*ZKX+UYCxBFN*F-J^<>O`8_FL z&16*`ZU1!ho)~{M>uOKuiR-Ux>VSf!yuNu)q2OrWe*JsAdOJ7N>Ju9rcD9>QxL$*B zW*k?Y2^M6W{ofx}S{;P#xZUT7;B<3F{zsxHZJZ?JsJzKAcC-?DaU94#bmo75Sfv_V zpM)R&Kht0Ktl0lV6zbfcH&=$oWe%+wFDjHOu}|;9H?0pnH-IyX*}HGn;MIbOn>f(p z9ZDq+uk6o}ixxWafh|pOJ&Ws}`i4*KNP@m#n(Jfu%Fstp68vJ}07_&bp!M?%l%Zff z>n-**uYPY1|9-mm?KY!fk9`ps!%+i0i-c<(uXmkn19jgfE38TbyExcB$DYxO0LA!) zI__Nt8DMNJ96z^!fz<% zq$h*2>CJfL;87SWwq&W#DFMuFoxLFLcnJ)y+%D@seI`8&6#kEV%Z%KbAa-ai2*TRY z9*e(^S1*e8m}&Yh{@$z~0J9V=PJY!5yTGs<4w)@N{Jq+A@>b~NqY%)aSnJKvzM=SA z3q@p;taUe|k0<69n`B{zVDTg%`S8pfq~(8gIF9$A4;3RsG3?11AOXhtRfUslCUEyf zFpM`3#Ngk2=0N{30&UIwROrfW}y+PwnRNM|#r%g8fF69C9PP09Noi_qwiBLyBEywOD^i-OEXA(;uo=SJ6Bbd z%&vX6s#YljQsvm4vy&SG9jjmzu@1~GNyGl5urb=gKxQEfBFp=8d@?= zG;w`I6Sb5a>$Z6{7x{Z5yul%j9G{@|lW(C7W)2UZ|8nRzn%%@&?aAD#XE!`zVX?>J zV>UsDG~TB(_txz155rsHvBjQXeCUX2aKY0?$zPjuk>gR^J4Y&NH+|uw3iO~x31ZP8 zCGTF6-VOT1y^9z&pPzuG)3XuF&;9Pl${$lZe_w;ED{}o50AhS=E4rXkC-6$>%Rb9s z1<})cF81GN$Fs!$!enoV>PzZ&PxR%Nv`ZGi&VYHyqVxY%?5 z@@a#|QB&xGvjKQ79(JTo8@+qkUFmX}mAmm&%afXQ$~Q0x%pRgOQy<%XF!C3urFmQ> zc?jc~y_ZsutH$*Mpj#_kAlH*MbfBz;Dokg6zOWb5vs;1PlVK$Lg-7z|F48At!3JyGcYYg9G{c0A-Di-qwJ_u?->@lj=ChcYDENJDD zG}yJE&D5W3ji?%t_(sLr(@ST-$Z#s<@gwOYM>j%;>=%(60MPYFIt|~iJS%UpGulcc zDFF92C69HcyB`&9*}5=>i+jv8ixXEz&9tzgVcAFezt;D9!i(`W#PYeljI@TesSLlQ$Ql@N-5<{-*lOz~~Uw% z_CFv=?%}&V-MwAr zUx5t-f*5VYyk0rosJpT!`e_$iFZ-C?1-a*YBWn?(4gUaB*ToFcnT`&A;S*V0oE6v>@sir}~_fb#YSM z`t?i3qvH62TzuQmX|JqDzF!ePW$A_I9xWM--zAsYNiin&7j>~zdX4))=U0TkM)!EE zYWT12ix=8=-5-2Lf5oqGWy=^x`8ori`m@oW3`SPHR!9}-(^dH@M5yiH? zRhZ7ec-HXUCCOA(Hj>%1ZD{SfX`R&B>z9M>wkgdSEZ)E^jJ`{xQewWnIsUX>v`hWy z^Tj2+Ks1x=7?Z93g55c@hx?W&-78(}#u`013^0csocFZT0_AkIxZ)HwBVr2-fFul+ zudrLT8ppy9^rijWwG_IQQ!F#Y5VCwbeg2 zK#yE9o-)y3w=92K^UD80+FM6O9erKnFd(hcDBX=T64Kq>okMqtfPg3^B@F}8-Hiy0 zGy+36NGKf&(ip!xzR$DPTWh^*eSiP5n3+$Ud+$Ey?7hz=%s0;VreTI!U4JI-c~5J- zE-YBw9kUGPr!1%FiK%9Vgj?wAu`) zMHx6D#xtq~r6PMJ&@az-?ZIM-M|e#wvEPcq7qVmjn+s6xgdgNI|3F=(XnnuLATIAB z&4jx?XmcLs*R`=XAkR%qXmP8uaBN1J`?ZjaX*^{Cw-k{+B?Ij$=Xkl@0@y?H^bHvy z2TCeQ43CxF-{Wk!_y^ZX6pp+K9;6HJe z)ji8RL(cS>(fM4avIS>3T#W{Y5g|ymha|zsb@;Q);QI1yGmGHv0Zg+`o)f!|aIxdu zckyq_{Bsh}Lvd`v{HXxR;K9=kyq0_GKS}hH z%72mWELQ@u|MhKYQcUue5>3!-Yc-I@IIANTi0n6P_`lYjL{`EXh6o7SQt2 z1j_iS#Gi%W>sFb+G6UXO&a(VcexgF7G%u5-^KzyF>3Oy9s3rx^-t$Rc;g}F?rKOtV zaVE-6ahB}qd9DN!&D_iKXV@P@-K^;mm5#O?&O{vF4Sx#NYrM~sLMGy>iE{z-N+6+j ziCiz*`z%Hf!`~&q=)&zAR-%A$?i2sOQ6-V|wid9Nrf{9T!%Dl^51AAg=!3$i$mywy zD=MUJv)_M2*>kDc**=t42E1xb?$zus1sSCA&-SVU>U@j^dJD2{ ztT7?pU5MqnAkKR$sRoHX2#6Z*VkvF#XHYT2z$20fcXo_hMSG_Sr9@gA`t zFO8f|M{NYUC8z_d=$bLf{wSsYlQ*R5QE2epA8oQopWAeC&M3Xx8?Cl5J8xWlzK`4B|K`9< zpe_S5D(y0WmO!aYfVx(vYMI6~D-cq)(7`F%ugk46LT}S0tVDb;-D{_g zs&aJV@ZO@Bsb3E>9mNK6X!CuFPQKZ zITRuC6JH!}{L=}HV3%%0g5J#G>|T|sMa|?~v(YtMJdZ_m%?{ujKxa~v7lWk|nf9k9 zQJ-NTYx%(`^?ss;yE3&3hjdA+*75qVs*EwD+BEcbquBiV-8kjDcxuKSf%~RK{tWL^ zEW9|axxLaC8N{ZWU+cFvkPMitKl;3ka{I><%MO`~dagRCs^x2=vxC#Juqq?XPEL)g zt3R=n!9SK?eQJ7GnonPift=7G2s?RE#Ukt$EG{F*+u|qj(@v_EU3eFw8S>nn;JUh* zT|Oj67WHSzWm^n>SSk}_GPx_gEw2SEH1%^Ey&>eX==;cNpTLd~Rm3@$sb~=)-0SMk z!kOPYcthd-CH{~nYRKNC<68vUG*(7wcS-!Q+!33B;BSM5%BexX`6}XD zuF;-Ryx^<5P%la=y7z}LxoCUE*NfSb$u09wdU=Lb29LUei{R%vr&lq;Gve8eH5@lm z`BOUaJBh^5_0Thq za5~p8oW^j$sTK0vyM&#`+749p8`~tFsm_q9!1U(^4Q81QzSKE5sfBn*K>n2=X`IVy zqd}%&fG#S_n+8gP;BkI)aajlK$|pfnlgk1%Bs0x@oLg!x+~->rY@*qO#oT?_?6Zev z>2|*rcZZD|>7s=ak{-=sDK=jGP`W$UDYD#@ol`L5XThsmX z>DsCL@s*4#KHw3K7~GQUr*FK|qBwSCz#a>|5i*BWgd`;;KT3{Xm|s6D>Ti;3vQa(k zpSAF-6`2VVS05tPjS;@#cx-)a=EMAn>r-vADmHigEr%xdw#63b;|kr6dquCdzAT!n!3&{ zK1HQ-mz~5p&NJ_PW);5FF=7AX@{M~oBBZ7sBrOZG+!#$wqzm*+AdAdSVYhk9*nkYM zZ2p4|4J?@tfYRq13{;skyHz#ht~Fva8HVP!&UJO2K{3ZHh~^}788zLi^Q{6uz7OYx z1s9edf^tXS!9afvtc8$gUxlQdueC2AFJBsEO@CQjvqaQj-iR%2a7^ zW)pl9U{2XB{*Tin2Mi7|I&*!P8(5_C)c(#pc1d9Qp3G;yg*nYCd*!QoRmO{p+G<6p zx*4_o5)ds_S2?$q71~G3JSZe+vY1e=6E^tGgb+Peo*^|@`X30d+!C#Pi7Go{{W%+k zz=t|xCgVEyhIfLA$yY8xO+pD%(fh-Pijue50?T6FCbcK}Vr8L5O(x%7gb2@-JhXRS zd3R|9(L8QiW@-ufKwNZtokW?LTP>nFFT(8a_><*g?sgIMR~nnj(Kh&z1>!HXKDR1Z zMlk&d5nZ|tv1GLp`;W%)O{H#5yL^JHMY%J4Ci4gA%`VyVv%VHx2zzCh9mmUxnPe0# z7X1a}9yi+Gybboa^TzUI3~cr;vz-oNm$MupJ$%W5Xa#A(n);ud`O>yN&Ax=}updXnl+Gq|1eq9q*wlg%sdzlw@{Gf!sU6_l33wEpkevwD^8$7Orh+_KQv5&EAM z)VeD|l^C7KYp35n8?B&t;iY#}@v%9hRHYIxBv=XYQf2z`vnFpHnU&kGcRNf%s=s!f zaO1!Vh;8ZSot?-qVW>)!8X43(t4R1cIs5fnW=809-#?+>h!;7XUaYOC!kB1y1-tyd zIU1D-rzp)d75cT@?&T*!Zu1KgNwZ692ux~bQUhny$i&5NrK+gp1WAl&l;(O=!jzlY zc2Zh~2%$lPj7R6%G7SB>ijm(cUjA#Cpe;LbAn6`y1sdjBCmM`?%Cg=?7R7>}OEu_> zNA(Qn_bLE=p6KBYkntpSj3i``8~*ik>LZ%Xo;|nd_EO zJ${m2CxP!6RE?e>LG0vfP}HBT&*KeF+TY|ix?((M00fwz)ebH{(8pfL(6sR?HGtH(oS?u2G z3iH8e|FSL%-;0u$N&EIo&t{K0N1bthegnmZi}-@jJoWypWnr-UOgfL33*o#Qo>bso zL)gux{&nAVb#{K)NUg=7)rDwHK{-sX6Dpi4uT)qNBrGA|q8gu6hbgN$^}GK4eMO@W za{@wE)fs2|ruk>i{$aItn0iz+1>4xU8KrtIiWW6aGrsO#Q$d#4J>QJdG`!NQLk=BW zBqfbt_hp8iKuPJ0aCj}|n;?9DltBv=lAe=Xdms{K*jX3!6p#(KDz*oetgVGcqg1jn z!iRQ+Q+&td)jtUZA@j#-3T_HB$F3sS1;C+(-KwtXSRka)w3|@N#Dq4voS@x~ztBBG z@sOltL~D0PP+4455z)+0K0oOk$z^O>TLB|9A%rfEmHvD?#F&WW_nTBz5Xi*G0!=9q zMa{j1=-dS2DZL?3x11jN{<+OZd?)`joeuOEg;?#%s#1}sZLFBSHCW<$CD)}USay4I z&JEnM1qm~F_1XR|$cuL|L9wrI`>%_iNyuw7K16BxB<~&X&urV)wB1bMLXT*+RtHz^ zYuVOBEx4^cbCHtkCb*^}J z!o@txAri8GWRWM%`sK^nXQJ@2!IpgBKzh3!UXduvMMfs26GNs-=9Dq1l8L zYicdn(WNHeTUXqZS&u$4-r7Ye{1w2-jOJe}n&QQN7SH#2$IiU`^W3dK$@q(Z1*VVn zx!r^i;0|Gh&{G1}tn1X>p#uTouX0SD&oi`-GMW935!ojdWb(wQZ~FJBK`X@(%I7a; zTB{3lO08U2^6xsEBVfu#l-trYuXPEbC9@tdBN)ScwL0cu%F#~dOXdM5^3uqMCEceSsXdLb}8@wor7m7_N(z-=fzmv5}qLs z`fWBtmGV_uKwno(P*p2o)z~i#U&TM3np+;2mJlZetNuoImP2XYHq!=xI&hk+woHB@ zSu%T=m_}8;neJm`LB6I`xV&&N)`lwpk7*a?cQU^?0&V7hEa>O?O(Z9G7v^+e2_i*d z^a`|6V$SAD1TB}vb#isjIwLWdsrYPwDGeP3~4^omju?U54 zG9`5qJ+|=OTzH0TLE8Uc>g)Q1vPHQgnLDl>AUNXF>-+=emY=B0A2Im~$S`@$K0jHs z{BxGEho_>>4PH6?Tr92P_-BeOn&|iEp!!Ks?_3<@XN7ds}esEEAnM5yK@IP&8kZSoW0DP8y5o7WU`621|c5sgs`2BSNXOW2op^gYGu%P-FukO!M4ohQ0ppsgn; zj@CM9wwR@);|G#tk_FbjxouakMh)tVTg4HkC3Of8{P@H^+r!I%*?iah5%_}F1-=Ss zgr0a0uxblNN@EpAnd4tC&D^hv8h7UoPYYiQw|A~AT+@{emadMlcaY_kD8DQcn&guEJ#R!IbST(HQ z6N-DiRCK?&$2o-yQOSIA2GAC{GMt+}-q+NjC;;-{t>WmD&#+}|wR}+s`S@@4A4-1m z3A*q8T|o6>NVuSl^`%~)Yu%_>T+@f)PBXxMQy};er&P3>wzQZySY+?h-+QzN-4L?m)1DC;s zR?B-QZ)@!@R&O5f-|k4Hq`Kj`K_yj0=x6RubV$Gc);kfEH0E`dQ0-}29#Faj86dSQ zC+N-4ZbPttP_Ir2ZMXl6 zpGj^cZbtN~ZETA(kZef`#F4^~^csjFoi@x^j+c3X&1zz6PW?w+TaEr2NHJGem=mg- zh3@XQP=m&;b$SRYk3_wD=8oVXdtB3C`{y^nYIhd-3jC(IYhAkpV5opSZ)nzv7(r)e z@PtzKJk>X_xr$h2o<9nM$1Y4U)S>2}I~Wp;Hwe2FF1P~gGpTLluZx`Z;y%MO;?Enr zuIlv(c*CqE5k7$ufI5?AskctJ%6us=K>XCPY=r}r>bU+wYqtHDiU}+YP@RdTK$#mi zY>(3$`68bLw=m~D7N!bh0AHk1GvDq>^auvOJiWXTooqW9b+cKcF7Np@0>a=9rF3at zvq%^h_;uOt!&DeIH1g%z5uzlhLssl+pVpdHp2cf-Mo|&N{Dg+l8wsvOJWYVCsWo+A z{aC0WuvGoC_93;PjXy`dVhWx|SPd!kzUMpjbD^Dt@LTL_`QlI-yB5G3T{(4J5;P{d z3njvO8|DvxK|1LukCn67u8zkk#V(-OM8G&UTYF+?-O;C$I zlP?z0fU#3^bVZW8hFHLgqyb-qe_J1nygQo z4}s5VQe2p&ocCrG=V>DdCWLjKv+iSmGCkCA)i9TEA9hv_bpm&y87=1paa(QCQCV)i?Nr-(;b?aU{#R4_Ne6&2%kl7X2@%0druH3;#cYI z;hSUhWPQ@xQh=IQ?2#~&z*iH8M5Jrr^85i<)~4bsu%H`xMl;L(0exu3I00@`RG;8n zdKO#?9Z2las(G{yya_whIip;nJ3@I$9Xe5=QI1xlu8qPjS+Xl8Q~?mT3s;|m?MHYs zhPT-q{}xpy^D;Zpu=)n)MjJe)!-xF|T3gIO1D;6Pwykw5lc)9Yo7Q2WxF%AOrg42Q zmPv>2LPhQgpMLymmggKhpZ0VJ+*zUrW|i(HtLtD(v<2QM)66mLD-?|LB zjLWpOaa|h2S_V?M>Y~a7TUS5bFVC}->-C-nD+?+0v(9pGQOnnYSfVx~c5z?tWJ~h@ z`wrME|9iiAfB0=c=_r^71-TYW4eXuFO zoRkjtg0I_#rwgf*T!9rH;Vo|OiUOm=ZL*xR?bXU~_7a*s3D^dzs%b(H+a@~OYi;hF zW0$Dsy$7S{Z^GfW@N76*xcD|Cog5|>{uUnmViTS6)oTXzw9PU2KAhrIV9-#fA;@&N=Bg$UA#X++f)gDT1t zrQA8_64)|0HkAAg#aIg14MJ!|HEXEBvDX0^uG6l0j+m)CvT;C3hDcg=$SUF@`ux6IsVL{K#ix43hYqFo8nk<6U8?If%S4UZ)`(cg+ z+K|;LwHer4+R#KThcbX_0~0+I$L!Hx?6jDbel78tm0H!Xw($Eo&|58IS1%#G6L)ue z@tTH?ZkM=i5Y+Q2KyE)vu5SCRX|Xyt2U{Q;UJQ2$6B>9fzL5=fxJ3~LH3}L)h?a2o z$+5lhGywq(3k|3N0nLXDXa%dH)lkBEyt{kB}@nB8iHeH=T_bJtY!Q~T_P%0WW z0`Kir<~K*V4_)u%p4s@5)tg@LEca%H4P?m{5Fqnb0(a+@Z~&Z)vH&XS3FkZ z;KYPJy#e~EJq;^+tE<4W!O6!U{uX4L26~TJ;GZ_LokoKIxy#2sG-X2Od41f~owz(U-?cR~lT z?;4q7;#O=a*Vqw|7D)c}Vc4riri(RZo@VqsjPB*6pMSt@la#DgCh1}x!z$Zts z#@cfJseXE*-S|SL{+kPMes!mJDxi=%QS398xBtFB0O(=*(FK-IAJluuMuTq}(jFb? zb)}H%47qg{0)g*v=iyj=)jU|>B|xFjS85)kFG zC7cc(U7z-{oI)pGEoS-ei@9J>D;dAq)S3nEKw9l0dn%$BFFK(t8*p&@^3pG+2D79x z(Me-1t9P+xKGqt5ZFJq(1%(XF60^2uozhebAN+oVlxU7Oa{tMw^ZBj`=e@R8pov!; z1syl1w~6ONdq^?w2mD3cOw!4ygizul{n*3zwX?vqpm7%v%{4uc|-} zUBSOC%Y)DUy(m){K}47F9*ov-gMj{o9gNYAo9X_8(^+|6sDbpzapvK1G&u7-#F^V? z-+{!|43NqRxJDDg$&WmC}ju-S)|{;^?imTQe? zy3)Nz4?BE(Fbcq{#GT`Bb)f_*r@gT99C&?C^w__{2rQgK|LD=D;pzAQ-;jGg?>pc> zav;C3lE9_3tK9@esIGYo_%`T zn1jo7Fb1B!5Qf3Md1u;KYd4}Q|Fj1z3wnS{7+i7CYi_{>o}Kfj6PYHYHmbTm_~jJ( zn`3!9WYQE5Vn8wur31=}D=v`xboo9IOEd>`3-{>pT!#m`IYv=0njd(T8f89@_n@LK zuTzU_x?SwF1Mdlg;88jmf!oxtWAMv@_s7isLNT$8T*8 zN5SI=hKvp!iu7oOYL}!<&I>gNSQXhlBcQb|^r8x{c6XhA{dzx#hSJurH>eZw7XNG!@$lw-!k2k$v z0VN43Ow~0BY+ljm%V+e3;}QZk0OmPF=ewm~H^bn&NWU%$i;33e7{89q830>MEY-QL z>>=2war{Fv49N5n?A7cHf?aaZV5e7jROs0sqmQsCF&sy4iqL9K5pYX7(T&!hU~gw9 zb-2QC?i}X}ZzU2&$;4mm+9YWK&JE!|`+L>I{Hb{Zg*29Qz%%9Yb6u(2*2s6GzTYFU ztYd-MckpB4e^PbTpxMcO{Da}h(*D}!>rQ;z$byXza72@u!S8a&dGi|nJ51tib@>NQ zrzQ1RxN}AwBmq_95hre$vk2I!(#6`j=6qNtNi~J4sG}g{uWyZ_mc9?>9^{1^$V0!v z@IGRyp;ZIiv5Gm#jNT36{(vE$AcZ14>yW>o{@ofkRI#FnsF~wy=qYB?k%;gB4>)-! zFu2?D6Tmx!un5)Tkc-bGIA=$s{u6r@BxE}+40MFIeHFCl0C>p5o%SWr-McZ=bMOEx zgv;*Wl|CLb3LZgGspRMM*?@e1i&OlV1YmStPp@0MZXYGEqusCgYVHQslrOrd;)D#1 z;9Xxd)rLS&>4n!Wnj~tirlI{h(r^_Lu8H~(?KW`w&FB_qE?EyXF8}Y}Grr2f3rWcE zJVS9*xd51iEzh|u7u?!O{BkbuY>PwHkgh!=bIPILh9vwOTpR9w?3?If4~eI(C&{mH zGa*|BUsv5jwt$L2WgK(gd)fJ&Cp;S912ljSR4)@Nafz6beR#crdDu$E}c=P zI+6j9O%WZ5(>Zs@*Otzp+FWeV37Wp{OOQBsl*^hWT` zMrB5?<`s|(F4^^_4ZxcBtOAXrA;P)HjXn-Ky^7Z=v|A z(ZKVfUjC22K2XI15td7a9Z)(0X&!q(g6U(B7KttBSG@`=<^S`+9%^a~3lVc4u9gYD}x5n+0PJ8rjjNqqVDjL-Fn}qM`o<0O3 zN8Bc|c9k8l~nwesQzZL|1I%e?1`4Jcllh1M94ZT70 zphgQ8B6T3AyRe5m2hp?5w0E8c4iqiy9ktg+F#F!Q>Kraa_BOXEg+O>&cpW4W-Ob+r z>neBO2pkI1eGUIe;PGyb#Be+S!_AQQ`J@aO2THJw(Z@CQYKazYGXG%O2((HjwRz<4 z%AnE`H%-emxXjt2-9zgibRWf=C=M#{)kxsR`WDYDP zh9{zk(tpZ8IwEaVI~F1)(BDLYCmKiP20Zk4KRD|XUNh7?sXnBqHt_Nn`B4`*`itFm z#Qy$6u%b3k{fbIb0_Ry$s1Q3=)?byx^qJK;4)y`O5x zf%9u=kl^7-E`plWn;IfV87Xi|d{RYQcJvaW6=vZN|4WF3Gm8}^T5l>W^YGen0_z9< zxH@GDHJXq@<9%0tJQi2WmD2s_;)V1Huqqo^LYaj1qYpB9veZBH)K&e2r`p3A&SmY7 zTd$}ZvhVy_9{e8X%f)PJWCHVX5;;VH<+U-8sXS7F3c%2tyKc?lzFf6`c%qxKzE-?7 zL<@R&Y7fx|p6PnZ4+E%N1dinTttj zKx9iM1_ROeX6Acs3-&kg$kQpT+aCiv*h31_c`PtRrwqkVpm+JxTh}IGQ&5s*fehV$ zGgP5wWd*_st;naB9qDY5);yDD@0FgQ%kUl46N*<{eIKEhV&vUxj_H44ov9Z~;zk0E z1NdBOV^(JvDap(QYoDQ*0DXBGTL2RJkbw(_S#s4tx+^2{$>eWp+Et=pn{!G7s}HIgvEvHUn3*c{`Zyhwo_1 zGUS|a6Ct>Rxw^r-U^$IxK`_BOQb}#rwBD&)wMg z;{TZ)>;d}9EB0AZaaiZX(1+sZ_`u@or2t_wFi!Rc26|^ew2%U1YiY&~S+9XZ^gF+K z<0!V$OnO2np#yMx=jNzs)?ut=bOc_2Pc)vL%0216wn567&VUQ|=|NQ;-|zF8rr(z< zO~3+KUia<~5Ds~ba#RAUopZB^a*!?oA8;@EYi~#xYqOEopf>o=P=>*yDwMt zcZ~InTfkBO=@Vc+Z}EJaL}=BsPl<8Ov+ut7%Rj)3t^VvYha$b}fAO{L!I#?s-Ge=F z`HMfwMan-mJAmJvqD<4uL;(1whRZG>J*0g3>y#2O+kYKFC2fHM>0sph-z71kc8;O* z#Fv=7^Mi8aqqL@W^md~{0&$DEPGp9FQdi^Lh5^tnCimvqU zZh%X;aJ#~b6QOg?Jzd)$E@cSx^((@Ubge0->4BmA8&vZ!OpdX!wHzs4un)u* zd~*RPXNPt&UpVFZ`LENV=aF%`=jtpavjv<8(dU8NIcaEZYBx(>V8nvu z%UtPK825Njf!+GOaHdn{1|hF4IfZy~l0r+QcVz4lE6#kSK8M8ZUJ>mEW9Iof(BQ4R z4gv*QM#0}&^Ukv+==-TMO`5?(nhE440N9wr31TOYB6G3_ErEbf#<#Y6B28oQ<8vR3 zht!m{G<$#h>Q<#Tdwvd!>VsmR`=B+&D}h7rB>-o<048_*C0hMW)hirS;kQq%3lg zNlPiKspUP((l<00T;-;_1R_av>0-T4AAkhMLe?pckgM;_KJMgF4!w_xxt_0zjplwh zp$>@jP(pt{TrYw14!Jq776eyNKy(I1Zzv0^%vSgv%(BVt0GGNJ3`y>zVlCKs{Cgc4 zCX6{C0W3@UQ$C+$P6Je4ubwR!Lvu0SvzG}Dey4$Psi22zhR27o#niV7Fz7RWHQOMz zLK$Pn@^(F;tmh9?RXJ=dHRLe-^AW~#cbp^llqeb#9F2ivuWB+e!v%t6Gg_71wP4Cv zfU5I7HM?IoN64-B5AX5J^p__w1wFt;yXn$d8K#yiDp-uJ0%L1I&LMbkwL6e?n-Z-{ ztmZcO_A%XZ>A6ISiV!2BnM|!vbIWthZ{dE$Tj2ibgAZL!ED5m~qOQ8QxB7fHm+nHx zDe5AmHhLYf6GS+sOZAkn^V1AW*ox)ZL(YIDVL`z6FPl9iOO@Y$exPss_YiLN8FeZO zZP>k-lUsr0VAdsrKK=eF7^Jl#seGqv3!y?uvs^D8^w)C^q`IFU;@g8Fi6Y9kp=xDq z6~6k{rN^9bSsSh_VqL0KmV@0N1JDD^p|4c{_|9>LK2&_Qbp&Lp4+g{)5-1<*khN$Y z0QG4m$+kB8X1mwd2uD-Lg4eyFtR;j8IziQ zd6i=2724JTS)S6<)zG_RW8i-(yIfLeij<%-D7@VOtYat$j|a&ONR{fB2@l{8T3@Hu z&1N&-_2Me&L%C9Za5}5oQlmXSlpU{-`17rV;osNC;h5CZh})8%Jk`>V88+Dpi1XDq2uIQaSptrepM@#A-_x?(^|D*L%8Hj`myr7^_dq4MsW^%)uYh@S^fd0iD&>~LO4Jwt(j;))8W)!Ag#56sdctg$c zU-2I+9^Mvi9&Tvs;dFz+9#l%UFLTfQ7dmHdm5y=f#9W7NMaGM7k;de@npLt>MS94I zN+sBxFNu`c!k^~>!f%1NMOAg9ijw8qN@Y8?*ivyPpDJM^;XL#r1itQVfvfhmqWlCS zUl84Dr#-`+CJtEChAR5~xlaZF|3lUWq8zg>RMl3Z@U-qW$9 z&;BB=Nhjv!_ASxmQ%%|M`NtbtkHl4VX4USt_2hL4niBbVH2rxyz#jBYETDB2-C4yd zZ>zd={`n6DP~vbQmRN_0Lqfc#iY*>{cJTzIrp1;J z^We2O9*BjUlwrMrPq;wP#7K zf)jfnL#MV=mWPm+MAFBkUhC)PnJO%1yZq0MI3ksnsU!Sq=ycqYT zwf_mW5z99_L$%B~;P)GMx%uZ!VFMnOT>sn0EC00Ncm{qpbHm)@=@<0*!}Xp>^d$-@ z>JDb;c-q`w^2x^@y5Rxd`uO^f?9J|Hm5Zk0WR#;s=U_7;7w9_&j=omW8s5+p4=>Ul zkr-q?F|75W=$z;g+MeBYGIoHUcs@hDV7&+rY9P~98@qNWN-#tznoV4*R}G>rqaNXw zWp?hVZ^dP`wz{rzq4#`6J8W9AYRVlGSh>^iS%MgIOwHcR7?0RTIA^ByaZ^07#T1dGTC( z0c4J^N650^jUBAoGm(W_#!DeSQ%u-g*kg)e4Fn||?7zKmr7(TJClUF!q4tH1kXSL( zoFMdVXN?`)nUmxIpjCzmuDC*YY4OFpgxZ=ApEm^^Cuxx`tw>3#h`Zs)-F>0OFie_Y z9++3Uhv%Ibz z=MWA@HU8(nhr>WmEleAn?(quq;SNAmJFm$sHUPM^0eH5+XBV;EZv0)G6q;P%tGLfh zi&}55vB5Z^D?j`IO$aUZ&r{04Zkz|M=tuXCFrVGS`z$}JLKQS%MqW~Ad(-Nuk-2ZR zZ>w@VxsW6E78KY99Qj;T`p{wXk9x`&{I`z4t>Dr-F7kx1ty~K|^?Kjk#$Wqq|5S71ubeBcn>OaGPc^!sDEnNmU6 zs~K?+5LSRkai%Gkz}tB91Wnypr@jPsXcMDWlNDGW3QC%;2$W z{|5f`8{kZS1rqi`aEjtR=8GIjVVUsHyac|q2rxE?DtHwjx(E+s9D&5c4nI((gp(M0 zV7PD${3j^Ahv|}^u_eIdBc^hTbHci@ZysnJd^ykTtn8)UMd9+f`&xK|!9iY@W>E2S z^UJ*;G;eB zmRnqg1{2V0-e$>-DNwlegY-w?aK7f%@UmTsdW0165PC&x8hkn+ z>w5rj<9#5PQ;gUF1F%%vzXKC%8+aHh-D|DF%7W0Shcp^jCrDEXpX;05_aeakS>}V4 zxz{C7uQvcl{}cF-Of;-l1CZle(|voenW#fWa`Eo?CIkxR8p+~^Kesj!9w9V!TW;P2 zj@mfgA3@r%`3LDmkthBFL5Dc+xNMorh%iR<*?Ji~5L{2;g{VxV)GxB_gsP@i6c$IS z{(ZC(1eqk844)!&x-S^QQAW>+3o%4{IbLF)M`pY3nvI=`td|p;bhkQy^} z06V;l)?gFV+Cmy&Af50Z-gPss&ZZmL#NfxgD|ackyeNuJEA(?FH?67NNRFO;q#{zi zf-{g6%1psTO2U=$C{4W4(zXVS)S{zbtb32}$?ftxT1*BQC=Y;gK_2bYQzQ&i&3N() zOhUqr;D0|~F4odk^YZT>x)$D82QSil@>j{;kXQ+2MkU(*hKk$52Ueky83$#~ab6yx z92&q}aTqk*=BSu>(x$IpY>;h`8rr|TYhLaq1V>I9)>sB;x%^U~i;K42mUIFIfGB_od zK7zA#=&;DtTHQ_{X@5mq$$?;utOYk#zpfggqfbGSoRZ%GQo}xKzL47TJa+Lvf38eq ze=*N8@-fXa9ub$!tP_^KR@WAjUr4p7&>Q$DoZ_kXx$G7kqQp=Y)HJIxGJ2;YS>R%3 z6wxh-hTd$b0u5uUdE%~qGrp|JOi)xvq3ptLP-qr#tU4n-{aSsug3J6zxQ;3r3iX6M z290`lQ|kiy0Vvk|WB`*8wMfH<`?F%Ls+*@(q$dU3mQ#U0Ly~>EF|%B)MewQoJfIij zUw~VT;TMeIl22yzKLPo8(pd%>R6OV$i+%?bIcxyxdO!EQT)QaZku!MJ9UxSrW~BvV zSg?maY^muJ>MzQMRFp^IJZC-Dsz_Ld&Q}@M{os#bI(~@cr$SK?Wpban>@Y;_M)@{~;XsZ|M*woZca=18{;}@H`c5{oNpS>1r-eq$? z?p=LuzZORJ)xiw=(ly`Ev^M+eNXK0(>dA0!Rr>dXU9*@_efL$;z=}xT;0o-1r1vl- zbU}-%ziWeU%&wji;sFIFkRo9kb;g(39FOQ%R6?0u~ zc9M?V9>_v}NAI;fR4PLb@<0b*zmNBuwQydmXL-UOsH(k?BNM=F6ui4+r`Iurv1OM| zwCt)02|7(Po_7NOmDi^r|0F|V`$6sS2ggw>&Q&!4yDKPl>CxfKx1awdEU9cR*He_o z*zTkcxHY@lR^8{Q(N5+UY|x=ut^yDLhCPX}L0do(QJB9cp`#|HO|^~h@=_0${dud3 zu;{XvtuXbx^rLS{BD+e(+1*pL7rPHW&F3|p!fW8a;l;&bE_dp*V9MiIq6|G&I}&!Y z@p&Ox`lp~66ZP8&Ip~1peXuvanTp43D1Qs6jqvHYq+V;usY)8^Da(tUy=cXm5Yas- zh;=I0ERk1X^*fw*tNne_Jfq>eH)%beWtS`Jhr<>buv)^KFzCnYZOa|U>lSNH zH3sYI%gc9%{=P5-1H&>s5ysskh9s0DhQ)f7U%?ayUKcgxV4s zr@B{VKeyCEqBGbH6{a}<`^N9u{**$hdC#$3{Xh-RoN(;>-Ylfcc_(C3u`it-7>^3z|q%!`!LYPIEu zO43bYfv%gQ_-1Zlw(hd5#dXQMwKCS{&`_H@9<0h>-sIa`gISF!kz-ul6f51&g*x~o z${emLb+Z%S6uXN<*Cf&~Dtunm7N^m{D07UTeMgz(D&&TCT2mY zb9{^AvP&z_*1w^rDOt3@HYE|!BQH%Ljjl9?$;(gwE=~gd3Qf2%@2Psl+e(wn!DwUi z{@DDA>nI({H8t8Afbge9n=VJu+12u=w$%3DsN9Hw$tbTT*;_043Su2u(>&a#W}3;h z{+kO>V{^xG^`XIb=nemj9#(O>`il$EfD<$Cem8d^Q`nrhg1G+}b~#>kK zN2t~0UOn5sW!^VKD95@wzlw}7*a^=BJfDl(U&bBxEo4c-kV(RGf7caGh=$AC^*(@@ z|0gu=OCT&BFgWie=&yRWrpMQ9-aERT5vOf`IfQ!n)Kkl^?g((zYDSKrL z;RQqu(v+C`$385`pJ(X@X}b?$mi&LARJ#1}k_ohNm!oMBI62%xu$AFK-@}Pqk9n~N zgNqnM(V+iiEJwShZjUWo)6f_^x(^x+l+M^4LtC75ME3kuAa%xSz4t-iXHwMGX(Ff4 zfgMuVG~f8eV3-6``}}CGy089k1-OLt?22XvW-W67ZRWPk=fJY4j9q!f^a|bw*N2-6 z3K&A8-rl=in0(WIKLk>LZ<5LV%@Q>cE3!|UwGo_yZ3l|s#xt<};~5ga zx}O=B4Q|`?H~QdiA+!i@7@bf96h=0QGD&_SbGn)TC9PDE2xsn)&C5XRE>9L)b}3C2 zmq)A~u;dSC=}2~6jcF=PgMeWQ!Qi*)0gLJB)c^kBTB(Oto#Y*j`Lg0@ICr|U@j2v8>dwBx9fvBJtv?FiR@?1qp&-?r1;xF(N( zUu?~NuN$?0Y#jZa3b^75erTt9{vh}c=Vz#Cl%Q4i&UY=K7b_UY6)|98m5(dfU3`l z8z?gbLqEFz5vFzL)(YLX4@b$ZY(-0^@2VW8gILI<4MlgiXP5(kShyLo6Y|cxHNU?>p5^o_Ct171|h~u%L2<5ygG{k^wd!WY*;*(LeB!@cjr)$5+ozI+#NlacLh4Nj&hj0HS?8qrSHEmx$Bd0)tYJ6|wD2~r*jht7huiml9 zozE%5wF*%*k^s4=_WC{`3q|uI_t}XAH~#QFtn$z6>G19;KVt*Ub;u~HeA?7RTock^ z59!W_G~xqIpyUGCD5O!#E096Hc3=D81(NUSo|iAXZ+0kdFOMnk4%a%Lg3OX}2srm} z$^s8U9pL^&ln44&_}eDHmT&({mss7$GaO_gZ|@HHeC%$#dguWB!WH&`p6 z20oBPCz~V*s*6SR5hbwBa_?Ijh-#|*m#0}$ZeZcfrS~X4MI}-~4i}14OC1*oS0HSE z_y_~f!%i~3>vx73+h5DLeWk4pTWRc|CV(v0#5%%qjZqV^f% zJpu^KwPApCGaJm~fq8u$^aAM^KPcQNBvQv8rAX{36Qb+6Hkeupt0$(s0(M>QOnu=a0 zwz2}NF!aymibvGnC&d5Y-QHJFI4W_PDW&Tz=>fBip`<2`bpM(*7(bojL1D=p-}*pR zy8+piMNXdn^d{KEHgv+c)BiX^Yi43D@A=N-2jb^i06jL)BEAhF1&^M^HSPODDMUIY@cA_qL|(h;EldZ*qmP_nEf`Klt%LJSHChkt=fz%_U`w7tK%g7&F` zyfm?!PV5$FR8q=;cIa@)y2)rd*ZyJyLu@{qo3-%wgc?2@m{n62%Ug*W| zFlGgO4Y7Ka_hUh8g!jV}ZbT~>WHmW-()k?$yeCJZ2^h$Up@deTL8plC2|*N_)nDeUu&6XRjMIxDiExwIE-D~KIvZKl3VT?Hu37{ARjrEalVbG6gR z>k`7N?2koKHf|3s|9<{9l5zt&PJMaxV7#r6+%z#=N|NZ=FvD}u^^z4W%)U%kZYF63 zMVg5;>Lt+i@&`?kda@(XdBy(i{Bi|pFN&N<1xi$d{V_zc14{D4=RbqLsj(&9rX<4l zC9s>>bW0<9(nvdi^`qykw&Lr*z%lS=UelvzaG?TM07LAHe#Xx+g5t09^raD)6oR2f zn*&q;dMBPHc&pqUCbr$F-H{WZVnCyVr*CI_{bQ4Exy1WQh1)FH%ZV&P7zz22y}w;g z!!0$ow_tpd$#qttS!}eR#}^oI%@jBroVrl}CkiKl=QmE(CO69_rFU}ru2EPl2}Qa@LAn)? zluo6kkq)IxN<`WqML{}6q)U(n36+xW5+tRhK~m(KkNX$zd#>+X=lr#~+zZz8+%fNY zk1^($Wi>Q1MfDaW@*HT*F*0*4j<<4pysF+45^y;IC)cc!C9Y}hBaJ5xa2qDfd#My0 z(|!!mRF*ok_;iJJc*(5t1nzZ@SM_{*fP=c2q+!AC`^HVT>)CNqH6&HxKfA^dtM9vj zvWE}5k5Q3^q(BZQ+SC$tU}O^Pi8YGlN$z$s*{nZx0wJGzKNH%E+rPciph-LbU5U*4 z?;$g{5x>qC_!y3;qf$r$as*f`k~AGNTlDjDMtc%5MAnX+o056WUGTPeA87FI$1wDe z<$?YadKcVk3cHk}I~v2*Lx$;ynR1uYTf7(#RLm{2%_r?U?^8R4 z124D+Q@kN(Bv^OVVf@zm_t$9qW}W6=Ta>KxBZ&Z(A|ouG%YCgM}_a=vNbfM+SPCLR^K0 zW;BU{8I2jb#17xlA4H>%=z=O+hM9Dx#Aug^{wAbdPeBR-w+SJM?(kN0&dM*549|wuEKNPlBBFa6vIC+Z5^_x zUqba_lGwb`%|5yHD<8#Ng<;R1AMY?FhBtQk(M?0AZ{NsZZk7A*XOEL}zZev&`?}TL zYj$Jtt8S7MJKCLNcUNjx(uu&etm@RMxhY z^D6~!K0WFQFS-%fN+e9JF3{{0v6A`ufWs{_PwR4cMqx~=GX}34UtlIIEalZM%PyxJ z0V{{k_m+!W^zm6+SQ4ce@x<_r&P@)t`*C=k*fo{aEpfu0Yw7@TX@9GU@ zc+oN~=Qa>?Dk1eD=dYRCqqbT5@DGX9SAJdM6*|~3YH78%aI(JEElQ@I)q1^x|MR_M zDKz9b3<1m6fy*Db1ApVx&4I8?en!gdwpkUrdWv{CUip(sK#c&e2F{%~=U?Q1U8WsE zXCMkt8s!6RX}HrB(iwRglfj0};5lL-RlpAvh3-E;NiDWX0~oBokXSeibWc*MFE|v~ z5v-P~q|3k;a-c`1ZYeiin78q&ts1~Pyu_872#I1fi4DpJhYQDtSda1NSQgw2dMB8g zzuP4pZ5j=A1$*d4*S6&&-=q}f(HKRt^;uXmWup)uLTqQiqM-_1Ho6ui9S z0$a4^>@A+grD7FguEk1ydnf26%!9W~W2Kd?fTLTwI3 zxNQmXF2l_8?T@%eOR+37)+GbarW*0I)0%>s)YCnF1m}0)QZ9x)buaF)*``|fZbTdz zJ#YT9h$pZevMl+RLo~Wi02cYzxBo@3N6>SM>4YUjeVl2Fv6jOTP25e=mQ$&P$xMZm z82id`3~BR1&0!;m5Fm1!WbwRJ>5#9-9gC|?*wxVSgAnr;=Jh{OJHaCx z-H_jR5&q}*Vxw45OHfOT74Vzy5!V*s4F1e(Z7&CF6}ozK+&PxT45gJ{J7?lriKq6i z8lRb<4O6|F9%gW@ksk%E-pSoyBpimy5j`-t$B@mgbBiN&G2Do}{Az$zQ+(6s8awmj zvrWw(rK!9S|Cb3I5|s~>-^Z7EXFtt9!}~~>g7%5TXsfuo#W2&`q#vYKnb{t~mq%4saQ3pTvuV3s9sw?yIB1k`dXubH|*hN0w z)6sOsBHhy{qTHB8{Txh}PQV&Hgp}8cQvGGUu1gF*#1HZAPH2?fSIaHxVG3+GhZeuSq08&Y*L$L6m$vL|JQ_BvtglNiC+Hn(~W7Fy0V?yhJp4j}5@(x)k=JhzRO= zKi}={jQQ0xm2?C2KK5RYTLt!uZQ)c`_Lup~k1U-`4T`#k{XQ_d#!|(097+}8Z&$Mr z@xdeUCKDxVNy1%wJ6ePDpFd+KaDjFd-NBm97R4c8V(dqmSEn_6MaTUfpVW_o*o`9} z@{g0aW1M;vrZ|BGcSG}eYoTlQZ%O3jyBLbJuz=YwiV921d;Bh+@9}$myPWZtSup`U z?FOU?ahhk;^CNaO4D8+*yGt)GJwj7m)>y4`8RwLDaK|i26<7j&pjPcGe`CIGLG3#RJ438wEYbiy zSO3P;g8f6hErIm&m0&XC9**IU5r?Vm=<+Yx`VQ*V4~F~Pdc%x_R;aH?^y=~|8;0mb zOls5SoV@t!;t5C7j@0gChHN0ZvfkE{e>>1UduuCS)pP<(@^axOZ)whbqr(H&mcH8g7Z4IV53wT24&aU*lNc79%CY7` z&_~i&wIs5{cHPl5opS4X-(_`rVj*~K8;IaM40<*4U74LujrVdNG>e(6k zJC0gM>Q^mGQYBh7Ym_ni_a));TbHDm8TT%-sB;G{Vc?bD?#{75&di_@8tW9;53N@N zGOITs>*~^WToXfAV+&uQ(!NYeEwE}H&~s0OjA}AB%?IkYn>w0yYuwJOzH>!>yKO|= z8o8ZRE=lr!KZ%#J$j)C4GQrKIz9%%(lK+Z!D&R7PY=B17*M5(mX)1JX=$F_Ni{J4Q z-5SCOP7Ykj&AoF~AR+1;a%UaYKO<4tnA92Axg3}s5a!^c_cbto=wPm9j(Hm6M8{Tz z@E*#RaqGc#5?{TEE8&Tff9kIw_|m^1P?ai12)75nu zX1-Uojjzj0$77;I!Yssic(58;Kgpk&y!^s77Q~OFkMo7ueXKbG*$*_8AFN!O33^7$ zWBer9tzNt3&i=pAaCXKm_7Y+qW=p@8VVdx=>Yf+tN+PhPGkeq5g#u$pg>mj;jdA|) zqnQ8xz>K7?E+O1E0`GnZBrDt{ia|cb6$SrfA#ZeHlxPb^XFbR`7oxrt!`K9MMY z>Yty_*UZs{rPWW2_4qX6Wrj3aHd!}$vG1^N6vHeciXlw|s*VO2Fq%_lf})6*jj z$=3v@-jDty4Y=m>C-Ds~X+lJkXu$a=hsxor;#7c{-&>FRfXLkqcT?{=pDNRpYUx$Z ziYQcG?aN-H9q^uS4Act58TgqY&KH=0=YYGc(ljDJJ$nJ9q|==m>h4!rcvz9ZLjLc- zq7dPOs>Y_GuzkO>>|i>hZdTx4eUBS)7(K?gfLTvH9PWHQHo%`dUa1T8C@wHNVe<zgiVE(YeQp)mEMe3WlpXAlDMuJ8nQ zK&DZEuXkVvWzM*${|D?{M-_>8KOrFOTm-f@S6fjnd{KVqw|ABhHuN7ZPNXGCG2j+r zi(TM~#kIG$Us$Rcn2ol#54tTBm_)pcSBSb|!gt|=XbF6H>3f=99Q>B$QSCtp0!TAN z;w|5Dn<5jIz^ojZXjTsV=c>U)LWO07@uDkZS73j9uCSGKW>yQiK~!iZUvK-ZOlQ1% zQ^=VG0|&GBX9fUjb{kW!Xg_e&J}t&*y;Z~EVSfppII`(OQ}bl}%}ef$i`OAWbmuf- zXCgI;O00s8PDk-l6ISJZ{v%jUm?Q0H!o_oIK(bn{WW`%OEaKl(JO;Tyf^);s=Qpkf zG%nfKSunk^xZ?-kZ1M)8NtZDl2!4xyl3*HlKQmF=SsULMMpD_`wXsTlP(LI@1kduD zt$dDY6%Hu_gzqU(^sm%Xwf(W6t;bmjXt#Hu?{*wlkNY%%=o--mw?qBoUm1W`T>ksC2 zXj)7rK`WZ#D>yC)4zmqFr7JMU*e?OGyJ}qPZVq0{*AjnDHjhJJ@IbkV!|i!nkoMI3 zjxzRSQdLO4m;Ks$h)t?+J+LKU6FRi5eDz@Lhr)5@$HxvnFJPIpJaPq<$Nh+=J2e~; z2JX-Ir_cU)A}zMRUaOjv*9d>WA$P_SIhqC})YFZ$~|o#UYPwc+=UGJ@0s99uR2 zS`B)f0JtgpFNF2xuOTf2omIY8K?beU`Banm-`;C`IZHjxD$RT{QR%3>)RTI1^W*Mk zWD>1P<^eq+Brbd7cg&7kV%44GG8f8<{f()EsRuMxTYXDNw`zy}Gf6lm6$XZtk+3 zS>@9lXDF#i1V9xx!)~(LMfz?%phF))r$g`R0Vv`J_z98uy8$-)0otdR!vE!axOP|K z?6(_OL?=fEjR9^=w{RWcXau-K`lCQQlyE5>h83`Nx0-1R6g!x7L)zE-K(&SRRy{~0 z=q&^v@7XxPt0F>+my&-Tfjw8&gZJpz0UD1@DBt)x^XaJh21g@WWaFDwKOlI7ln`+O4|1d{}*`^eb24k$d#Zp@v zBT!kd5m4phpi}s44N&g&)8k(kh(G)}J?RZ|rFk?HNbk!0DXTpuL&YwdMb!f8PA(pB z?l4DXo*ID~*@DQ2WBIMk7(l$;umlf?&S{Y;7uk;%uQi-(ylwO`c!!>Wo!nhwZgBYz zOAlGiH|QO&qkm)VvNyo+M*wV2qzl_m)e7XKX0LmoF>~9~nyrjoDu2Wox+(qI-M++|#_6tZ2^;6uTg$hSu;`~!laro<;(m)=J7 zz>VmOC;z}aF*I}2awl>}TDoZBwvMFtJvk;mE%=ac88xGEj` zz`CZlbb(e-^B+2|%O2#Xf;Yj5$=ed8W4`k%D67U`mYd)MeLh&xTd*3a?{ z(wciSNUe1v%FSioY3A`v@n`$%)iX~Lp@%%hQ|yc9HA;cV5y555;uvA=A!Dvv&Io@5 z?Q1@#T?=IirIvpK>a6`hN6>?tv&k13R61NT@j6QRw-%r|aia!eqD;pu6ih|5>fT=i zaGSuNj906v>mZrY8 z5kTWyL27ai6N}?bK}TZ*|MnNk95_oDlO>(un4y`mD9dGsHJUVcFvE@jVRK(A>{*Cd zQDLh#{_TYpS3O>M6AR<_O_xmsU-c8-1uR{vpFQ;&%cl(AdlS@0a`7d6cG~i@m2D>*&95h~GBbIEQ- z3v2B;IyufYhteBskkjwZIRN`r(19;N*Q2d=COgcU7e-9mjJCTygOZw#NzoA{6?1)w zpb`J$azsqJ#T^(D2*SVN;qNl(`L$Dm8TI3^e|pzYWc=D0F68}vX)qS!O7uD zp?BNDDxUEl2!R-tgQbksrjzOEX}|%W27UfxQZ{&heU}uUSh$`r;@R}-HyUXWooaI1 z_3E?V(`7jKA!fU?zA{j|MY9(87fqX^iA<751d&qS{CNbKT~6U;F{-&!q5t7x1Kmm4 z3JmVCE4*gtaW_fkkY40eyhYbzR8$&+(=y5uh1~6=Tz(itFPrZ;R0=D9PZ^)Pk5KEa zV&h7r3SxmDdTw&I{Im<pG$TzQH^o5?&^!mK>pm0i%Rgd9BJH$VJpQ zJ9HI`GWKU-b0R^I1mq8gP;d7+*||ZnH%+|e?9Yi89Ft#`L{g4HNIO^Zh2S2-1~2!$ z{SEEEW*}U@g;JIjAdug7{Q|c*tudvaOJB}R#>8V|58(v<(i{p*m_P6;aTfhhdqzeOk>J#Sf-zz9F5-#s z1hlA2fZ{iQc;p&5jP;SiG^M$y+q8;M8D%q7>p|q?{R|q5y&EgEz ztnZzTFy%vb)rs^F1RdY!<^FeHeo^avF7`cv-ZBGY9MR6aX zqUqTiQz#1klm>0^_|Llt{v~(X6RY}Jcsx-!sMLU|iyXSJMJxnp1X<*fBb7h#VGH`T zN;=I0fxb#3R%)m$(Lj=U5|sOyO$wD?s&-x-yQ z91*6CB$Y_0nhb6`Xi03MIWM*}kT&mNJpxt3of9v(ArGvoFqo&Q1BZZ09E^!r?sv3t8So+!kZ5vv}EDcTjHPwH=N$kCY zR0?wT(lan?WZQ+1m~%HAG9Z-wq4!tj_yy<_W{za&pogBF0H!yNMKuXsS`LMvWdll_ z-8w1kO4-Xv&nAIx@9q)ZyfQ%57IC=^Dl1;*^Fq$LYwnylzzifVbf-ibFO^OEot*2e z7*(Bf0g*%mxwX=P2<@^u0pBzT-B|m`;qFA~CR%2b)}l{gJtd(Bw3)sDn>RkdSsAz~ z*j%Zkm*uC_A4M@(lZc1iMTlD1N0M^cWH&*!KuKxx$Xr1(#*CWRLXJoehF0uLFyRvX z7vHw9e4zyI>|u#fC115O%HYH+qlHluvdN2K?aw(kG2&C z_dELU#WCR^%grQ;J4@2{cyCLVe4fo=FkAJ)oMKez=Y4qWT^KVE=!+~>{uTsgUcE@8 zMS2HErJxFtfv2#hzY7Hp)J>=xDz$fkZYK}+a>fo%#{>Y zqdehdYd!Vi@3|mUb?kU-0=CCYk`P%icIXp&pb_ELqg0`IPA;bQ5NaTv4;Q8x%C$F0&HJU#ZG2>(?gNJo!$|-V-x$c##e%?175&ADRz)m6PwW zZ-d&9nbcP3Ka{2l-8VFu$zwsi3f^x_i|h6I{2ci_Uf<)7&yy-#3G@sw4)AB~*>Rw9 zaEXiXs*E3o3xlrjB5gkmE-iWkTf20dI@&I>>21wZueyXNyv)de{X}-lDv$HN%HhfY z>?A6l5DURY*d>|x8|+4@+v%qF2r_#xWOYhJ$*E#7P1h~T z9DDX{Dj(VQ)OLjTL05Jjlcut|6@D%S&bn{3RUFVsfj zbzbYa!Q1`t12zORJB%q=K={aROL_OUqE5r>#7Om0F&r>~^<&8vjaJ)78=!9AA2?YM zc65nLsriug6&6}t;n9Z*mPmHgPmErSW0upWDqbdyWnoMo@f^;7w4-H-)I{A2xDXJ< z{)_vXlYUB;CCmElNd$y+yyfr;&{YR?59SEQ{te0?tmuI6R^}*nX3%KydXAVY8LLDX zQds9DDv6T(n|MIN87roIuM-BgB~_1k)1R7L{UF}4UoroJI)3O8rXZu)X&Wg)+dL}u_{t3LG+9&j z19_)l43OgnZr)fpnrj+t`q4Clf8?lFcH69Uve8j|cd%^9Z%z!-hRK-mnP*7a&@MNw z0>pYXkKUC`w;;30WKNW;YmiT6!8lWiP`af4@j>cBBK*StL}COXpxnfr#QlxB5`!ry z8+b0@^u|nqF+XM&U%ux2@GYR#D6B&hSS}|@!4G&T{NP`s&zip5D}k-e#8{--a>w9M ztgKw^{b_!1lMpy2@((H^l0rF^=m-@$_yMh!q$-F>3J~~vO=@YaW(UO!e3FZo82a#p z@y0l0C0M6){sAptal)q&7!w&WR?IA6!E^hnicv)5GU|5m47h5RDNB1NPsoVDYy+oS zSY9G)iaflmytm}EfE<3&AnKqRwtEzjdQ{{~sj6r3<9ao}>6_S^S|k~~_$L*g;HsRf z{7Um7jjoK(F~3DWJ7>B_FA{?4x!GEK7=u+JbztZMzK}jvuh{QlcYToC`9p6haGR}^ zAzd~H2ScQ{@7hgRrLXz)D*5%19|TN+;8aP+L>Y{ol0K5G^8E1>9ch4BjeE%VAcinO zt?9*hvl3A?#vz_?0ZD3IZy2&Us0=()TwowC`D3g#Kz`D6Q|iu)O1l4xR8h?3|dQ}hx;x9HOt?FR(#q;Bi=OqP;`pME<4v6>kt)gV^IA!3sFEnb(? zy5h}Rh!OLxtQ!*QoU&rYc+DaIQe%AhnoS1OdZDlyh%l7kF?2b2O`U-z5=P}O=4M<@ z#^h*}L@EJIpb{{aGyF`u_&@a8t(lursC5l2MUa}7HLE6GRQr!a50lhJEO6M>I%6HP zi|_>?a;>-A)slMHzx{_&Q!YrEe6&0D6fZNZsiTHlF)62`U`_a*OI&JAWzI12AjaQm zyTRp|1+6`$L0nOU8M~va@dRPgF6K_mvo?)35#D^uEM0}Wg=2O}YM7!z&+2ahD8i)m zaC+ZlX_&w#4Pgwthp~QBRQP4?L^9rk}C8~u8VMo}=AKl^=I!qb^E{+$`w`d|lVB~lJ(v<_0 z6;a3`HqP*XF5ND_&bo75+v}&NMSk{RPcuTPzF_&14YS!CA3({loqE|YPV65Rgtgb* zFoki(Gvj~WN$=R7iJ^rW#ztuWT{hRg#d;P z2OKf_BN035H8*b{1FrkI#~9zpU5dCvx#6SpqC%BiQ_31PDN;9yq>etZtNDxnpzf=(vr-)bq8 z^kE0r9{O!yu;LlL-ukkUS#JChL-BX%Ws4DLE+=#ml39D5O`g0YK*pR zD7sFEj1tcOqV)bVO4_M#lwLe%pyzv^@Gc(m-B0pQ_%T6ipar^VGn72hmQ3bf&C{aH zUmZke3;>;*&DtvOQbUjnD3w~6DlDRqtC-w!P*PpVrjOQ^IJ23_yPxQ2fBElMU;Kah z>R2gGGbp;&x&6y5mTAV*f_bHOlMCTIch?n!{Mtf{_3t`kciT}BIJdVUcJ6AM!cpQFN9pk!!6oniD~T<5(Bk5xkgepDb7a8wIr zg@KsM=_6o5oTOw}I;;?eF+O0RqyfVZ(+?vF(-d_9>%zhx(-i|J_>&h&4=MUEhX(Q4 zx8WOAev?fE{*QAvaFui!Ck2D+F3(=Cl>f}oYVtg>DxC&e1d|ohkh#O|vZxR&qT?f= zkzghZ#O}RV9|ygNwB zGLu=CX~8qXSnhmL#v$<M&VQFV7(d4?#Cib-mHL^>I()Xe zN5%c&Q7RRP(uQ~tl8**P-I6%rrd#$XgJqO*lWOCM@!hA7=wAoaguM*~1P8ONt*=rk zX#v?HBh}9EaAKI_)ZYc>hU%l>v00#aY7 zayA(Ae@ziGbVLcTLNw~mNq5DDZ@F2?zIkL06J8v1qW{L*k2U+z0EEx&h1Ony@Up}1 z&}%mWF(?OedC>5Nza}DimIE|!QV%x|IxXv#nwdns|Y^F#A+7l)$#FnF1 zfm^O)K5n+|ufFd_7c6VCI}OvJ>}ivSHBe66c(YWV1q7_2`XLA~fWSit+u{IswBJAo z-Uo$uIye&`rYeQib73iu=0bhI>dDCW*YIz^Fc5h2UmV#RTJgtyP{HsAV1gh&gr(t; z=Ki>a68GM}Kai=2AR|a~V1D}%u1O&<5CA>#7oHwyU;kcC#pW#xF_Tk=o#Pgm1@V-O z1Pwj--TaZ%zMZX976xuCPdQ`uzeWv_A69@A3D4^nkD6Sbi z0NSby{@n$zvz_&-=^Ma)0kR<0BRv0tZtU@|)fQ7Q6QEMjvt@x*M9pp5Z4Cm#di*kl zW>MZRyMt__r)myh9%4idyKmspksSoTD}i!ca%!UM{79epG{9QS_5ro~ir9c5^(Du@ ze%=N$=}FTBlvaQ4-K^V`NP9GgXX1bAfqjv>IV1df2b9B8pyQg8n~ko)(Die+6QvlJz3uTO0tx)dQ#* zUG_$`tWJaUTprA#`Pmp$@)dp7fD_zfbsGraU zcd_y2zXnM$s{a@yjR4da$zkiV=+AhGVT+*T!qz7KkSE3VrJYe>;FsOA{q*rf~0&acjoE8y-J0d9k> z_C+~iBPnCcO3xxxCwARIghcvik_w_kK}Q3&<`!Z;%A|Z=Sk{a`jU-G378i@L}uN=5PAGuL0?uoXK^P8lltcp=JM z>Cm&oHpyxr0lYwJBEzrZT^F->iWmSQP+|YA%gj7`mu_1_leyJ!w}BK8T1Tir6OcHZ!GhN)kIZNLlzk=%t3q~`fm~TrE9zbC+!`>c z*6@sJ*IaeOggHN&S~$RN!(WM3vK-QnB8h;HgA?lcGwHFc55N(}M)U|JNmb%CyVAd2 zXAkWGXQ<`7+2uL3O^Z#=$-$Fybd{TOIyqC|7%9A%aIbHh0o>*;diOx{^_oZ}wom14 zwBFBrZM|Fsy>=E#4(xv)ZqqxK@)VU)x#&)xk_3^2F> z@w;*V&9(AAnX<4*ZP(Ww>)#+Id_8Ko0Z2ChP%qAYK2E+_rF3d_}}|%ATFM^C4GkT1MZrI*O6gm>y_Vv zoc(@XETK5JlxCnbiG_i2`H`ZWw6^zkJ!21YMAZZI`=hbCzP_cM6VPJJ1F(H@X+O7o z4-`k22r@^GL|{XBjU{}~QjXtR-v&`r|ICtCkXE)z;(Xy7*fK&fg(Ftpv6;H2P`fDh zd~OZVE9E9+@6jJ=zcJpq2QdM6^w;LJWQusEA0cE?xH%=W#c%;UznDpo;eJcU?xRQ^ zfp+^w{zp>I`*n4xIB-Ka4bev2K0t2DMyfy>7{)CZvzqZmvsdJ2q56itH(j~8F$xqW z$CRw8?j&&1E3@Gg4PDNfWYfuM=+!CKUlArTw=b??5yAfjROJs)7vQps!@L^`citZE zAP}Cx*q`=4dn`GMS$wqrg;28V;m9i`=_R3|pXtL5z9$)cPtt&@peux~(^g2eVgyOB z2xG29-Q)eWuaLt~?}ymj30WI#AoNu(a^aYQx8a|aJ9r<{DiH9BWL1Bh!3XqcL@!qm}o(gIiIWU(t6)>(rZRIb& z;(C(jMLb0sa~i>QkkpjTlHkeUNv|u{!4^#9F-Jj66N7bbO%!T3A!Q0PqcsO~263)Og43YFPG@_m`$AM0quMG)Dh7>2y^bbLZu%6tKdWxvLr-x+NM+6n@~i)0C0PNT%7bq7+JXNnDtellb&ifO>n1b=pcka|pMvdVQmYsAN+EjAv zF<_MW=Yrv^z9h%qTW|hW#Ex}8u^zZb=@4=XbX0&gld8NLB=36fjd#AyafP)F`N}Cs z1*;KajD(l;@_XoPds@(Qty>SDsP`XL3s_!UPAyV-ay$XTFiC{kE%6sLHEFziwR}{s z?e&lz{f9A$j+!3CAEO~h1yUZ%C%cX;ksiou$!*^Kzd1a@qW`6AK+G?nB>@K{Y)zS4 z!~*NHnpzqJ^3`OH-{9Kt!qV|xGPq(Ur~w_^V|E5XC0K~53L&K;Nu98^AAW5AC(PT^`u<-K6|XGl(%a4SkDAX zW#8T?N&;z-G)sMO1)=ctLj3pS9qBg(eXsM^bqkJC?*g%mgH$9T?g|uv`CM{)oxed^ zh_@1aEMHjWw&z&-?A63jp4QXc0qf^Q4ZXwhVQx0u$rKlBOe<#veT!EkC+u~{sEPpDWganMT(Im(cC7K z?}*Xd6Yl82+<7~;>rq|b#YDD6OMxT3^)Dq6a^`D0!kO>Ukf#B-p)FYh|Mx-;e#QWu z!DS;k37sFQY|`&=8yU6~noJ zCxXZ0TU_`=6Q0=++SkjVubIm0o#tv5?c>{DEh4CH0N?0E;rAM&rVqz0rN`J^AA&{m z^LHxHRJQS18Q0G+KKX9YaaKJDs3hnrzP0=Jaf6^H1QQaJR-)VvnM_{n`%J&K7S&s^h=lJ)8n5-ZAgW6#vLVZ zZAqnwpQsJZK!Ai4+tU1DYJhXl-p=jtX6y&-fU+36I%U>0Z-Ufmx;~P3b;s7 zWOd=!3nGB*#RIBW$5-eA_ibJ{7FO8mc(Ed=2EC3tD$5B>y^h)w&XeWwMCJGA=NF-0 zG3eBqwmoP2kj-!z(Ts$3{7BBw49h0x?9ootZF#}3=I6gT{b#?5uAHgI9XsnKcb;LF zY-NS>w1jq!j<(92ilDve2KbXxhw-zo#^15;3TOT$%DqiBEDJY!ZKkO^|0&&TLN79@ z$374FG#Ug@eZ?&8poT}>7pS{Un4qLA%imG^I2XoQ4aVh9Z3e#IAQyd|KG3MI6Ep=L z!C#i_5Mw?CE$uy9#AY24FP#&Okzk9;O9s=BWkWq3`pz>~?#_JtsZ7mb$ce_Tw5VrD0cu7@ zrZw2c8?c{3lS2K91AHAen~%GOByNz8s4x740Xm3#VNm{r zT8eO#Zjr&;_T=++FbSt-`4q{oQpg#5+^sUd4<5-dPFQC{neKyvKjfjEIX61~$P(OS z%GB*3kneK$32nY>uC@L85}(x;9I(Mp=)7FA?a64Oo3t>AvLy29LXujC|L{*4Ml5<- zAd(TlQLz9=h@dArl96M6BkHkACir+M86A@Ek@xI3Vzsb;$p$kcTfPabF~SJ^B~INf zjXr^F>B)di`FnHFVlRRLe%hC|cP~Xad<;{Xvsa@Gr1HuugqPFpuQg>j0miDz-+wBO zpUd&ZICMW_r}g$9wZh&7pY!SaDS1kcfGEj$$YmWUy5~JE)Vws@8gZHO<&Jtw%SW?h z3E$(wav2?;nD(#Xe4(kew>=bouh_iui6$CsxIs>#aTeCYexnMOM;QQ0!MO=xkGKFe zQ%T?n1e<^Mm{z@5g>_r4EQN@73``$9`qHImPfsB=D*-_mI5v`<8(LEG)E>Gsr_%5< zoV}j#!Yh*81v0qIE7oq*5n$f_x6csW!1EBnXFtDbghqgz%o+L<$!6%h)MpnLQNFF} zeR;2_aGzt@PaxGJ+d0l7Lh#*Bu{X80+y?v$oqX{>ye>Kqq>*IpC?wdKm$g#cKa(x2 z;0gNxVVb#H?jTEKQ7e!+;8N&*CJfB6nnSyhd{K;MuICTX@zP|dAGtNVzmj|L-Pi8% zZH14DIu>2=JENy0FP{^a)JE|czjGVYuHohGS*VlCMbE(GSpTBEe` z`ZN>Ye#V`!XQ^#s1V)rM z@R(lb_w%RqBx^4em8?uW0XR3JLGMYgNrDJy@D#8p%I($W`}&(&#xLQJ@QFpFyTL!QY}cK(v^M#%1KD1MC8M0bAJWb~cA& zBmaE1J9SoB?oPsf+{%*DO23tBmhftl&wWUYeeJHwnQKkF@T;K|yyi~U-ElQ7pZ^Np zdoW84+I_q;t)3h(Kkq0Wei^K>nwE2DHG-2!DGcM`K>Qba(_odMw?xc z#69faW~afR?+hmE4qDUr^#Q6B)<#XlXtwhCdusjSZoZ!tsiNwfCXOT9%If#m7X;mp*dQm8sPy4{4Kk}igdf@SC_ zouR~_n*5RZLCp1cYzYi1N_^S|?}{~^ab3L`9og?!fJ6Hz;NHudEOKRJsjnYsax%lU zOx=5|+&`ma#SM=;Hb-|bQ8a9Wy+w15i<=FgntdYa&dpi%jx2Qg{$m@=ELqdtei1ws z9U86LtbeXnKJnECAnkk#2tnFsaqADaPdO^I@*3r>6 zGO4URThoLL%PZ3>EWs)e(&hw_JmOO zkj$yk9GB_m$0llO?5Mx zNT=4?WbD>2y2t;#0Uw%*kg2TP_E-PyeYL`d6ZO&pDG?fgEz`^J9G{@B<-307Bw#1IbS5&+VxM?4SJ98)~)Lvw0k|;e_ zou7m%m03UemKawy>D<>t9F=cR?;YLfUv2b0*kBIjlm8V{nd?{nMs>K2_VMytq9QH3 zi~+t1YqbXUb06rv?`u^#P01L%dbH5X)uC7NVij{whKb{K=*ALXI?a|zMtyGDc2qrS z0n86aT)=c_%j+EvVxW}6F*54FqlP5Joj$|YP>Ee^t>nvRiRzD1@E36%Xj37 zbs&|NJ^t|#RGg1UG?nbNGr6Y^E?K7#_c(ya*gyd>0u_*7(k{}-&^{->T6X)O-0_>B z+<9^VEv7pRck6BD3+{E&BKvF9iT)A4JC@QUSFY>+itLaHZ1a1O++~B#H zaowwkUri@}=xtdRZmUJLK?=Dn`|#*TtToi{hXW;syl4hrRtmoK_j$DNh6QaCj4qYU ziAq0K$v$mfY(~Rj7RH36IxUhhacog>aoI97B3P=niO>71*?w!yMgq0gsK%-5Tq zGU3i(Q_SO?KmV~vincL~N zp42)qoX6(O!1fEsb4q79e?A=dd~!%AZZ-?{c_l^3{qD77UoGFdpF?e%&-si!HcnHO zT{b_aIZZLH7%SpT3-xP@#FAm0iCf$j5E5yamc~)g! zuod=J9(e!S}ejk(isxZ$BRV~e+yTPab<)*C9CmuYP`GNeW4K<43sQ!I`PVw6Lr+f?x|D* zJ6w}gzhBmmSzcvcW-=B!o!vj04Ow9AN=)c2Oe9YU?Y=wwIDN&bmCsgK`Azt1iRitD zKlOs|)*mWLDolK=Vi2cW zE6nr^V&s)H?`b|-%QyX+c(-1@24bv?YeAgXDtCz8|_cW(Xip5;8wrE?7Q@vK-w${AI)7my5+MVs(Mewo5Ve~;I9-ny2 zHnHMLL`jw6W8;BvOE;;DD53xiG#v&et`r9RD7A|oINSZhuyR@PjhbnIaqLh*KbfYmI>^ZAOV1#J7q<5m7x4D4>6^@^X&T%Y+{Ji`T!m z;a0=PT5U?HQO|LCQpiye_-Hya))_loquPfvX!VqUf)S(I7EDi;<(=-VZ;8H{gPfQ_ zWhSZ2+_+LRJb#}s3)RYq{I!io1l-A`okH;&ANIyBqBx1ogbneyzQJlACVn7*zCN{z zPnSN7S8dmwRVUKdbIz!t#$B{3dhaoP(}R)l=mktn+%-lbTU;aigCEVC^d+iIIyuC~ zSN4cQ{?C3qi+a7d)rf@)Xrwlalq8440lx!ReOyZ3Uf@`u$uu#lcx^6MLHfa6HvKQk z(imSlJji0=Ne^LVQ83_Y^l*Lk&LC*Aj^ z>jq#HHZ-iB+3|wyQtHbF7NxB~1q*zyE_w6GW>GY+4RD`n6fnfEDV^R2RGG`7#M_vi zo6FO=JdbIeRqu;yzFXeEP};Zi+PAkHHys^>4ojv2Q$~*y*p==d+ia#Q3am7}ek;`| zeYzz}%sls!=TA;bahSL^JY1u>n?sCAfJ30egk{~<#*#=Y1+YWex2&8sMHy&h7<0da z!Ui#5ux~xFNgtT$r5VGG1uw4cRs49xS0N~S-PTg!x7JqEp9|jIC#z`9Q4p&AoO{@#U5! zUv@vPD=O{Zt$*F|fkES)sKv*QuTy-Ln)CnUz93-ePL*av)z zJi8)gYM1vnK>u--|1(kH1dG)-WSp8ASj1EfmJ51rH~hCn^yu8nxqX(6XD^<;IX_!b zK=Ry*kA<((&)sy{+Y_yy64$|SI8yP#31BWRV=9)KC{nWP>uX-mbmRQ=9+NX=5iA!} z7_;_x-p+9h);IgY;rt*2l(g8vNo!}X$D?AWOHXGmP}*gz8fm7{=&?5N@nccmuSWBp zr`%xxMj4xrk_(4Jf*{jGHx;1Iyf#bB)@PTF{+3{zp09UTLO0BLfdJ4*rv(#%RnZ%k7~V$j>wI$KZB{= myyp{pR!--zz2*e8`#&S6Q{FAVMhA5UAnD literal 0 HcmV?d00001 diff --git a/source/img/security/uvf_vault_sharing.drawio.png b/source/img/security/uvf_vault_sharing.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..39a1a965a6e7ed4dc27423ab1c4a93a8f34e87a9 GIT binary patch literal 39650 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 +defines a common vendor-independent standard based on `Vault Format 8 `_. + +The uvf metadata file ``vault.uvf`` replaces the ``vault.cryptomator`` file. +It is both stored in the vault as file and uploaded to hub. +It can contain many key generations - only the latest generation is used for data encryption. +The older generations are used to read the older data encrypted with previous generation keys. +See :ref:`Key Rotation ` for more details. + +Cryptomator hub `1.3.0 `_) introduced user-specific vault access token JWE containing the vault masterkey for data encryption. +In the uvf setting, the uvf metadata (with the current and older (master)key generations. + +Instead, it will contain a Vault Member key, which allows to decrypt the ``vault.uvf`` metadata. +Specifically, a Vault Owner will have an access token under ``/access-token`` sub-resource of the form + +.. code-block:: json + + { + "key": "{memberkey}", + "recoveryKey": "{recovery key}", + } + +Non-owner Vault Members will not have the ``recoveryKey`` shared with them, the JWE will only contain the ``key`` element. +Vault members can decrypt their access token using their private user key. +See :ref:`User Key Pair `. + +Upon Vault creation, a new memberkey and an asymmetric recovery key pair are generated. The public recovery key and the ``vault.uvf`` JWE are uploaded to Cryptomator hub. + +.. image:: ../img/security/uvf_vault_creation.drawio.png + :alt: uvf Vault Creation + :width: 700px + :align: center + +See :ref:`Key Rotation ` for more details on key rotation and ``vault.uvf``. + +Vault sharing is the same as with access tokens introduced in Cryptomator hub `1.3.0 `_. + +Only the payload's ``key`` field contains the latest member key (instead of the masterkey) and the ``recoverKey`` (Vault Owners only). + +.. image:: ../img/security/uvf_vault_sharing.drawio.png + :alt: uvf Vault Sharing + :width: 550px + :align: center + diff --git a/source/security/uvf.rst b/source/security/uvf.rst index 3487897..059ae05 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -6,11 +6,9 @@ After Key Rotation, new data will be encrypted with new keys. This will allow to retract access from vault members, cryptographically ensuring they can never decrypt new data. -`Unified Vault Format (uvf) https://github.com/encryption-alliance/unified-vault-format` -defines a common vendor-independent standard. - -It is close to `Vault Format 8 https://docs.cryptomator.org/en/latest/misc/vault-format-history/`, -will allow to support key rotation in the future. +`Unified Vault Format (uvf) `_ +defines a common vendor-independent standard. It is close to `Vault Format 8 `_, +and will allow to support key rotation in the future. Key rotation is not implemented yet, though. Users will need to decide at vault creation time whether to use the new format. @@ -21,8 +19,7 @@ Users will need to decide at vault creation time whether to use the new format. Clients and hub will be backwards-compatible. -.. warning:: - TODO diagrams +.. _security/uvf/key-rotation: Key Rotation ------------ @@ -30,7 +27,7 @@ If a member (assume it's Bob) is removed from a vault, we need to replace the ex Theoretically, we could re-encrypt the whole data. However, this is time- and resource-consuming (I/O). And Bob may have made a backup copy of the data anyway. Therefore, key rotation aims at enrypting new data - Bob must not be able to decrypt the new data with his old key, even if he still has access to the new ciphertext. -The uvf metadata file replaces the the masterkey file (or the user-specific JWE containing the masterkey introduced in Cryptomator hub `1.3.0 https://github.com/cryptomator/hub/releases/tag/1.3.0`). +The uvf metadata file replaces the the masterkey file (or the user-specific JWE containing the masterkey introduced in Cryptomator hub `1.3.0 `_). It can contain many key generations - only the latest generation is used for data encryption. The older generations are used to read the older data encrypted with previous generation keys. @@ -63,7 +60,7 @@ This is done in two steps: - The payload is encrypted only once with the same (shared) Content Encryption Key (CEK). The encrypted payload is stored in the ``ciphertext`` field of the encrypted metadata file. - The CEK is then encrypted specifically for each recipient with their key and method, and the resulting encrypted stored in the ``encrypted_key`` field of the encrypted metadata file. -Here's an example of an (encrypted) metadata file with two recipients (``org.cryptomator.hub.memberkey`` and ``org.cryptomator.hub.recoverykey``): +Here's an example of an (encrypted) metadata file (JWE in JSON serialization, see `RFC 7516 `_) with two recipients (``org.cryptomator.hub.memberkey`` and ``org.cryptomator.hub.recoverykey``): .. code-block:: json @@ -96,6 +93,15 @@ Here's an example of an (encrypted) metadata file with two recipients (``org.cry "tag": "XFBoMYUZodetZdvTiFvSkQ" } +The `tag` field contains the `MAC `_ which allows to verify message authentication and integrigy checking, i.e. +verify that the message can only come from someone having access to the CEK and not being tampered with. +Note that he recipient headers are authenticated as well. + +.. image:: ../img/security/uvf_key_rotation.drawio.png + :alt: uvf Key Rotation + :width: 700px + :align: center + Vault Members @@ -108,12 +114,7 @@ The wrapped CEK is stored as ``encrypted_key`` for the ``org.cryptomator.hub.mem The vault member key in turn is stored for each user separately in the hub in the form of a JWE encrypted with user's public user key. Upon key rotation, the JWE for each user needs to be updated by using the public user key of each vault member. -TODO verify: -- generate new memberkey -- encrypt memberkey for all members with their public user key and update their access token -- new CEK -> encrypt with new memberkey and public recovery key into new metadata JWE -- upload new metadata JWE Recovery Key @@ -166,24 +167,52 @@ The API returns a JWK Set, containing the public key for the vault recovery key ] } - The following rules need to be respected upon encrypting the CEK for vault recovery key: -* clients must verify the JWE signature (TODO unclear) -* TODO relative URL required? -* clients must verify the public key hash +.. csv-table:: Recovery Key JWE verification + :header: "verify", "protection against" -These rules ensure Zero Knowledge for Managed Server: -* protection against manipulation of metadata JWE: TODO -* protection against implantation of new public key at server side: an admin cannot implant their own public key into the DB (jwks) unnoticed + "relative URL", "implantation of untrusted URLs " + "JWE signature", "JWE manipulation" + "public key hash", "implantation of new public key at server side" +Only URLs relative to the trusted hub must be followed, absolute URLs must not be followed in order for not retrieve the public recovery key from an untrusted source. +JWE signature verification makes sure the JWE comes from someone having access to the CEK, i.e. from a vault member (having access to CEK via memberkey or recoverykey). +A technical admin of the managed server cannot implant public keys at the server side unnoticed without being a vault member, as the keyhash is authenticated by the `tag` as well. + + +.. warning:: + Vault owners must be careful not to share vaults with technical hub admins. + Only a technical hub admin who is also a Vault Member, could sneak in a new recovery key pair (and thereby gain access to future data). + A technical hub admin of the managed server who is not Vault Member cannot perform this forgery. + This ensures Zero Knowledge for Managed Servers. .. warning:: - TODO unclear: Lediglich ein DB Admin, der auch Vault Member ist, könnte hier also noch einen Angriff durchführen. Dieser Fakt muss dokumentiert werden, damit Vault Owner ggf. vorsichtig sind. - Zumindest kann ein uneingeladener DB Admin aber nichts machen (Zero Knowledge für Managed Server ist somit sichergestellt) + A malicious technical hub admin could still do some sort of "phishing" attack by "emptying" the vault, i.e. uploading a new memberkey (or also recoverykey). + Vault members not paying attention could upload files and the malicious technical hub admin would then have access to the new data. + This kind of attack would be noticed only if there is data in the storage for which the seeds have been removed from the metadata file or + if a vault owner cannot use their locally stored recovery key any more. + +Look Ahead: Key Rotation +------------------------ +Although actual rotation of keys is not implemented yet, we give a sketch of the future implementation. +To ensure Zero Knowledge, key rotation is not performed in the server, but on a vault member's machine in the client code. +Only the encrypted data is then uploaded to the hub. +Even a technical admin with access to the DB cannot gain access to the key material and, therefore, not decrypt the data even with access to the cloud storage. +Key rotation will comprise the following steps: + +- get mutex for vault key rotation from hub (avoid concurrent key rotation for the same vault, lock at server) +- generate new memberkey +- encrypt new memberkey for all members with their public user key and update their vault access token +- generate new CEK +- generate new seed for data encryption and add to `seeds` of new metadata payload +- encrypt payload with CEK for `ciphertext` of new metadata JWE +- encrypt CEK with new memberkey and public recovery key into corresponding `encrypted_key` new metadata JWE +- upload new metadata JWE +- return mutex for vault key rotation to hub File Header Encryption From 00f174775c535d45b2e361b77cbc48a35ec39a5d Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Thu, 15 Aug 2024 09:35:59 +0200 Subject: [PATCH 03/13] Update source/security/uvf.rst --- source/security/uvf.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/security/uvf.rst b/source/security/uvf.rst index 059ae05..f50f0ea 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -27,7 +27,7 @@ If a member (assume it's Bob) is removed from a vault, we need to replace the ex Theoretically, we could re-encrypt the whole data. However, this is time- and resource-consuming (I/O). And Bob may have made a backup copy of the data anyway. Therefore, key rotation aims at enrypting new data - Bob must not be able to decrypt the new data with his old key, even if he still has access to the new ciphertext. -The uvf metadata file replaces the the masterkey file (or the user-specific JWE containing the masterkey introduced in Cryptomator hub `1.3.0 `_). +The uvf metadata file replaces the masterkey file (or the user-specific JWE containing the masterkey introduced in Cryptomator hub `1.3.0 `_). It can contain many key generations - only the latest generation is used for data encryption. The older generations are used to read the older data encrypted with previous generation keys. From a533c8da3a9e39db91ab0c85f8e9d70a188d78fb Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Thu, 15 Aug 2024 09:37:20 +0200 Subject: [PATCH 04/13] Update source/security/uvf.rst --- source/security/uvf.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/security/uvf.rst b/source/security/uvf.rst index f50f0ea..33fd764 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -51,7 +51,7 @@ Here's an example of the uvf metadata payload with different key generations in } -When a new generation of keys is added to the metadata file, it must be re-encrypted as well - Bob, with his old key, must not have be able to decrypt data encrypted later. +When a new generation of keys is added to the metadata file, it must be re-encrypted as well - Bob, with his old key, must not be able to decrypt data encrypted later. Furthermore, for technical reasons (which will become clear below), the above payload needs to be shared with several ``recipients``. More precisely, we use different Key Encapsulation methods to encrypt the payload for multiple recipients (a ``recipient`` being identified by their key ID ``kid``). From 6d24faf4faf347aeca9d7a55df32f42e623eb383 Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Thu, 15 Aug 2024 09:39:30 +0200 Subject: [PATCH 05/13] Update source/security/uvf.rst --- source/security/uvf.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/security/uvf.rst b/source/security/uvf.rst index 33fd764..ecf8db9 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -58,7 +58,7 @@ More precisely, we use different Key Encapsulation methods to encrypt the payloa This is done in two steps: - The payload is encrypted only once with the same (shared) Content Encryption Key (CEK). The encrypted payload is stored in the ``ciphertext`` field of the encrypted metadata file. -- The CEK is then encrypted specifically for each recipient with their key and method, and the resulting encrypted stored in the ``encrypted_key`` field of the encrypted metadata file. +- The CEK is then encrypted specifically for each recipient with their key and method, and the resulting encrypted key is stored in the ``encrypted_key`` field of the encrypted metadata file. Here's an example of an (encrypted) metadata file (JWE in JSON serialization, see `RFC 7516 `_) with two recipients (``org.cryptomator.hub.memberkey`` and ``org.cryptomator.hub.recoverykey``): From c96a3391e0b1aa289ba1b10d7f9fa377656fdb79 Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Thu, 15 Aug 2024 09:40:56 +0200 Subject: [PATCH 06/13] Update source/security/uvf.rst --- source/security/uvf.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/security/uvf.rst b/source/security/uvf.rst index ecf8db9..d9bfe01 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -95,7 +95,7 @@ Here's an example of an (encrypted) metadata file (JWE in JSON serialization, se The `tag` field contains the `MAC `_ which allows to verify message authentication and integrigy checking, i.e. verify that the message can only come from someone having access to the CEK and not being tampered with. -Note that he recipient headers are authenticated as well. +Note that the recipient headers are authenticated as well. .. image:: ../img/security/uvf_key_rotation.drawio.png :alt: uvf Key Rotation From 06d6b25e9eb1f1766e83a9490c86b509b5d6c956 Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Thu, 15 Aug 2024 09:42:20 +0200 Subject: [PATCH 07/13] Update source/security/uvf.rst --- source/security/uvf.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/security/uvf.rst b/source/security/uvf.rst index d9bfe01..9b0a837 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -94,7 +94,7 @@ Here's an example of an (encrypted) metadata file (JWE in JSON serialization, se } The `tag` field contains the `MAC `_ which allows to verify message authentication and integrigy checking, i.e. -verify that the message can only come from someone having access to the CEK and not being tampered with. +verify that the message can only come from someone having access to the CEK and that the message has not been tampered with. Note that the recipient headers are authenticated as well. .. image:: ../img/security/uvf_key_rotation.drawio.png From 64fd5c7a60d1a414c9fab3b7aed77973c3e2d94c Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Thu, 15 Aug 2024 09:43:46 +0200 Subject: [PATCH 08/13] Update source/security/uvf.rst --- source/security/uvf.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/security/uvf.rst b/source/security/uvf.rst index 9b0a837..7a820d5 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -111,7 +111,7 @@ All vault members share the same vault member key to access the vault metadata. The shared vault member key is a 256 bit AES Key. It is used for AES Key Wrap (``"alg": "A256KW"``) to enrypt/decrypt the metadata CEK. The wrapped CEK is stored as ``encrypted_key`` for the ``org.cryptomator.hub.memberkey`` recipient. -The vault member key in turn is stored for each user separately in the hub in the form of a JWE encrypted with user's public user key. +The vault member key in turn is stored for each user separately in the hub in the form of a JWE encrypted with the user's public user key. Upon key rotation, the JWE for each user needs to be updated by using the public user key of each vault member. From dbf6c1c51e4173a5889ad934373db55d7c42d34f Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Thu, 15 Aug 2024 13:58:07 +0200 Subject: [PATCH 09/13] Apply suggestions from code review --- source/security/uvf.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/security/uvf.rst b/source/security/uvf.rst index 7a820d5..d96c59a 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -177,7 +177,7 @@ The following rules need to be respected upon encrypting the CEK for vault recov "JWE signature", "JWE manipulation" "public key hash", "implantation of new public key at server side" -Only URLs relative to the trusted hub must be followed, absolute URLs must not be followed in order for not retrieve the public recovery key from an untrusted source. +Only URLs relative to the trusted hub must be followed, absolute URLs must not be followed in order not to retrieve the public recovery key from an untrusted source. JWE signature verification makes sure the JWE comes from someone having access to the CEK, i.e. from a vault member (having access to CEK via memberkey or recoverykey). A technical admin of the managed server cannot implant public keys at the server side unnoticed without being a vault member, as the keyhash is authenticated by the `tag` as well. @@ -210,7 +210,7 @@ Key rotation will comprise the following steps: - generate new CEK - generate new seed for data encryption and add to `seeds` of new metadata payload - encrypt payload with CEK for `ciphertext` of new metadata JWE -- encrypt CEK with new memberkey and public recovery key into corresponding `encrypted_key` new metadata JWE +- encrypt CEK with new memberkey and public recovery key into corresponding ``encrypted_key`` new metadata JWE - upload new metadata JWE - return mutex for vault key rotation to hub From c97196e9b18f62f5b11958cd6b79128a52928827 Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Wed, 4 Sep 2024 14:01:12 +0200 Subject: [PATCH 10/13] Update source/security/architecture.rst Co-authored-by: Sebastian Stenzel --- source/security/architecture.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/security/architecture.rst b/source/security/architecture.rst index cd1eaa7..8f8a6ee 100644 --- a/source/security/architecture.rst +++ b/source/security/architecture.rst @@ -167,7 +167,7 @@ Key Rotation: Multiple Masterkey Generations using Cryptomator Hub with Universa ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Unified Vault Format (uvf) `_ -defines a common vendor-independent standard based on `Vault Format 8 `_. +defines a common vendor-independent standard inspired by and partially based on `Vault Format 8 `_. The uvf metadata file ``vault.uvf`` replaces the ``vault.cryptomator`` file. It is both stored in the vault as file and uploaded to hub. From e30010abd6e7cf7c1957a8288bdcf9a081405ac7 Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Wed, 4 Sep 2024 14:01:32 +0200 Subject: [PATCH 11/13] Update source/security/architecture.rst Co-authored-by: Sebastian Stenzel --- source/security/architecture.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/security/architecture.rst b/source/security/architecture.rst index 8f8a6ee..6a7f4ad 100644 --- a/source/security/architecture.rst +++ b/source/security/architecture.rst @@ -169,8 +169,8 @@ Key Rotation: Multiple Masterkey Generations using Cryptomator Hub with Universa `Unified Vault Format (uvf) `_ defines a common vendor-independent standard inspired by and partially based on `Vault Format 8 `_. -The uvf metadata file ``vault.uvf`` replaces the ``vault.cryptomator`` file. -It is both stored in the vault as file and uploaded to hub. +Access to a vault starts by reading its general metadata, which is stored in the ``vault.uvf`` file (and as such serves a similar purpose as ``vault.cryptomator`` in vault format 8). +The primary copy of this file is stored within Cryptomator Hub. For redundancy and interoperability purposes, further copies of this file are created within the vault itself during unlock. It can contain many key generations - only the latest generation is used for data encryption. The older generations are used to read the older data encrypted with previous generation keys. See :ref:`Key Rotation ` for more details. From ea058ff55f390811b5ab63f1e19d8e2dd8233909 Mon Sep 17 00:00:00 2001 From: Christian Eichenberger Date: Wed, 4 Sep 2024 14:01:48 +0200 Subject: [PATCH 12/13] Update source/security/uvf.rst Co-authored-by: Sebastian Stenzel --- source/security/uvf.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/security/uvf.rst b/source/security/uvf.rst index d96c59a..1320c71 100644 --- a/source/security/uvf.rst +++ b/source/security/uvf.rst @@ -204,15 +204,15 @@ Even a technical admin with access to the DB cannot gain access to the key mater Key rotation will comprise the following steps: -- get mutex for vault key rotation from hub (avoid concurrent key rotation for the same vault, lock at server) -- generate new memberkey -- encrypt new memberkey for all members with their public user key and update their vault access token -- generate new CEK -- generate new seed for data encryption and add to `seeds` of new metadata payload -- encrypt payload with CEK for `ciphertext` of new metadata JWE -- encrypt CEK with new memberkey and public recovery key into corresponding ``encrypted_key`` new metadata JWE -- upload new metadata JWE -- return mutex for vault key rotation to hub +#. get mutex for vault key rotation from hub (avoid concurrent key rotation for the same vault, lock at server) +#. generate new memberkey +#. encrypt new memberkey for all members with their public user key and update their vault access token +#. generate new CEK +#. generate new seed for data encryption and add to `seeds` of new metadata payload +#. encrypt payload with CEK for `ciphertext` of new metadata JWE +#. encrypt CEK with new memberkey and public recovery key into corresponding ``encrypted_key`` new metadata JWE +#. upload new metadata JWE +#. return mutex for vault key rotation to hub File Header Encryption From 005257475cdb4d70620be6cbeec8c1d2cf1271cb Mon Sep 17 00:00:00 2001 From: chenkins Date: Wed, 4 Sep 2024 14:09:31 +0200 Subject: [PATCH 13/13] Fix broken sentence. --- source/security/architecture.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/security/architecture.rst b/source/security/architecture.rst index 6a7f4ad..48149a5 100644 --- a/source/security/architecture.rst +++ b/source/security/architecture.rst @@ -176,9 +176,9 @@ The older generations are used to read the older data encrypted with previous ge See :ref:`Key Rotation ` for more details. Cryptomator hub `1.3.0 `_) introduced user-specific vault access token JWE containing the vault masterkey for data encryption. -In the uvf setting, the uvf metadata (with the current and older (master)key generations. +In the uvf setting, the uvf metadata must hold the current and older (master)key generations. -Instead, it will contain a Vault Member key, which allows to decrypt the ``vault.uvf`` metadata. +In order to give access to the vault metadata, the vault access token will contain a Vault Member key, which allows to decrypt the ``vault.uvf`` metadata. Specifically, a Vault Owner will have an access token under ``/access-token`` sub-resource of the form .. code-block:: json