From e5e67a7a5afff3c37df4905c70905ab5f154c4f7 Mon Sep 17 00:00:00 2001
From: Matthew Tancik
Date: Fri, 14 Apr 2023 11:42:19 -0700
Subject: [PATCH] Update blender web docs (#1740)
Update blender docs
---
docs/extensions/blender_addon.md | 84 +++++++++++++++----------
docs/extensions/imgs/blender_addon.png | Bin 0 -> 38799 bytes
docs/extensions/imgs/blender_tab.png | Bin 0 -> 93414 bytes
3 files changed, 51 insertions(+), 33 deletions(-)
create mode 100644 docs/extensions/imgs/blender_addon.png
create mode 100644 docs/extensions/imgs/blender_tab.png
diff --git a/docs/extensions/blender_addon.md b/docs/extensions/blender_addon.md
index 2f410ff4f..c355e36ed 100644
--- a/docs/extensions/blender_addon.md
+++ b/docs/extensions/blender_addon.md
@@ -4,55 +4,72 @@
-
## Overview
This Blender add-on allows for compositing with a Nerfstudio render as a background layer by generating a camera path JSON file from the Blender camera path, as well as a way to import Nerfstudio JSON files as a Blender camera baked with the Nerfstudio camera path. This is achieved by importing a mesh or point-cloud representation of the NeRF scene from Nerfstudio into Blender and getting the camera coordinates relative to the transformations of the NeRF representation. Dynamic FOV from the Blender camera is supported and will match the Nerfstudio render. Perspective and equirectangular cameras are also supported.
-## Prerequisites
-
-First install [Blender](https://www.blender.org/). The python file add-on can be downloaded from the main repo in the `scripts/blender` folder. Before starting, export the mesh or point cloud representation of the NeRF from Nerfstudio, which will be used as reference for the actual NeRF in the Blender scene. Mesh export at a good quality is preferred, however, if the export is not clear or the NeRF is very large, a detailed point cloud export will also work.
-
## Add-on Setup Instructions
-1. Open a new or existing scene to add the NeRF background in.
+1. The add-on requires Blender 3.0 or newer, install Blender [here](https://www.blender.org/).
+2. Download blender add-on script
-2. Install and enable the add-on in Blender in Edit → Preferences → Add-Ons. The add-on will be visible in the Render Properties tab on the right panel.
-
-
-
-
+3. Install and enable the add-on in Blender in `Edit → Preferences → Add-Ons`. The add-on will be visible in the Render Properties tab on the right panel.
-3. Import the mesh or point cloud representation of the NeRF into the scene. It is preferred that a mesh is used at a good enough fidelity. You may need to crop the mesh further. Since it is used as a reference and won't be visible in the final render, only the parts that the blender animation will interact with may be necessary to import.
+ ```{image} imgs/blender_addon.png
+ :align: center
+ :width: 600
+ ```
+
+4. The add-on should now be installed in the `Render Properties` panel
+
+ ```{image} imgs/blender_tab.png
+ :align: center
+ :width: 400
+ ```
+
+## Scene Setup
+
+1. Export the mesh or point cloud representation of the NeRF from Nerfstudio, which will be used as reference for the actual NeRF in the Blender scene. Mesh export at a good quality is preferred, however, if the export is not clear or the NeRF is very large, a detailed point cloud export will also work.
+
+2. Import the mesh or point cloud representation of the NeRF into the scene. It is preferred that a mesh is used at a good enough fidelity. You may need to crop the mesh further. Since it is used as a reference and won't be visible in the final render, only the parts that the blender animation will interact with may be necessary to import.
+
+3. Select the NeRF mesh or pointcloud in the add-on.
4. Resize, position, or rotate the NeRF representation to fit your scene.
-
## Generate Nerfstudio JSON Camera Path from Blender Camera
1. There are a few ways to hide the reference mesh for the Blender render
- - In object properties, select "Shadow Catcher". This makes the representation invisible in the render, but all shadows cast on it will render. You may have to switch to the cycles renderer to see the shadow catcher option.
-
-
- - Note: This may not give ideal results if the mesh is not very clear or occludes other objects in the scene. If this is the case, you can hide the mesh from the render instead by clicking the camera button in the Outliner next to its name.
-
+ - In object properties, select "Shadow Catcher". This makes the representation invisible in the render, but all shadows cast on it will render. You may have to switch to the cycles renderer to see the shadow catcher option.
+
+
+
+
+ - Note: This may not give ideal results if the mesh is not very clear or occludes other objects in the scene. If this is the case, you can hide the mesh from the render instead by clicking the camera button in the Outliner next to its name.
+
+
+
2. Verify that the animation plays and the NeRF representation does not occlude the camera.
-3. Go to the Nerfstudio Add-on in Render Properties and expand the "Nerfstudio Path Generator" tab in the panel. Use the object selector to select the NeRF representation. Then, select the file path for the output JSON camera path file.
-4. Click "Generate JSON file". The output JSON file is named `camera_path_blender.json`.
+3. Go to the Nerfstudio Add-on in Render Properties and expand the "Nerfstudio Path Generator" tab in the panel. Use the object selector to select the NeRF representation. Then, select the file path for the output JSON camera path file.
+4. Click "Generate JSON file". The output JSON file is named `camera_path_blender.json`.
+
-
+
5. Render the NeRF with the generated camera path using Nerfstudio in the command prompt or terminal.
-6. Before rendering the Blender animation, go to the Render Properties and in the Film settings select "Transparent" so that the render will be rendered with a clear background to allow it to be composited over the NeRF render.
-
+6. Before rendering the Blender animation, go to the Render Properties and in the Film settings select "Transparent" so that the render will be rendered with a clear background to allow it to be composited over the NeRF render.
+
+
+
-
-7. Now the scene can be rendered and composited over the camera aligned Nerfstudio render.
+7. Now the scene can be rendered and composited over the camera aligned Nerfstudio render.
+
+
### Examples
@@ -63,16 +80,20 @@ First install [Blender](https://www.blender.org/). The python file add-on can be
### Additional details
-- You can also apply an environment texture to the Blender scene by using Nerfstudio to render an equirectangular image (360 image) of the NeRF from a place in the scene.
-- The settings for the Blender equirectangular camera are: "Panoramic" camera type and panorama type of "Equirectangular".
-
+- You can also apply an environment texture to the Blender scene by using Nerfstudio to render an equirectangular image (360 image) of the NeRF from a place in the scene.
+- The settings for the Blender equirectangular camera are: "Panoramic" camera type and panorama type of "Equirectangular".
+
+
+
- The generated JSON camera path follows the user specified frame start, end, and step fields in the Output Properties in Blender. The JSON file specifies the user specified x and y render resolutions at the given % in the Output Properties.
- The add-on computes the camera coordinates based on the active camera in the scene.
- FOV animated changes of the camera will be matched with the NeRF render.
- Perspective and equirectangular cameras are supported and can be selected within Blender.
- The generated JSON file can be imported into Nerfstudio. Each keyframe of the camera transform in the frame sequence in Blender will be a keyframe in Nerfstudio. The exported JSON camera path is baked, where each frame in the sequence is a keyframe. This is to ensure that frame interpolation across Nerfstudio and Blender do not differ.
+
+
- It is recommended to run the camera path in the Nerfstudio web interface with the NeRF to ensure that the NeRF is visible throughout the camera path.
- The fps and keyframe timestamps are based on the "Frame Rate" setting in the Output Properties in Blender.
- The NeRF representation can also be transformed (position, rotation, and scale) as well as animated.
@@ -87,7 +108,6 @@ First install [Blender](https://www.blender.org/). The python file add-on can be
-
1. Expand the "Nerfstudio Camera Generator" tab in the panel. After inputting the NeRF representation, select the JSON Nerfstudio file and click "Create Camera from JSON"
2. A new camera named "NerfstudioCamera" should appear in the viewport with the camera path and FOV of the input file. This camera's type will match the Nerfstudio input file, except fisheye cameras.
@@ -103,13 +123,11 @@ First install [Blender](https://www.blender.org/). The python file add-on can be
- Scale of the camera is not keyframed from the Nerfstudio camera path.
- This newly created camera has a sensor fit of "Vertical"
-
## Implementation Details
-For generating the JSON camera path, we iterate over the scene frame sequence (from the start to the end with step intervals) and get the camera 4x4 world matrix at each frame. The world transformation matrix gives the position, rotation, and scale of the camera. We then obtain the world matrix of the NeRF representation at each frame and transform the camera coordinates with this to get the final camera world matrix. This allows us to re-position, rotate, and scale the NeRF representation in Blender and generate the right camera path to render the NeRF accordingly in Nerfstudio. Additionally, we calculate the FOV of the camera at each frame based on the sensor fit (horizontal or vertical), angle of view, and aspect ratio.
+For generating the JSON camera path, we iterate over the scene frame sequence (from the start to the end with step intervals) and get the camera 4x4 world matrix at each frame. The world transformation matrix gives the position, rotation, and scale of the camera. We then obtain the world matrix of the NeRF representation at each frame and transform the camera coordinates with this to get the final camera world matrix. This allows us to re-position, rotate, and scale the NeRF representation in Blender and generate the right camera path to render the NeRF accordingly in Nerfstudio. Additionally, we calculate the FOV of the camera at each frame based on the sensor fit (horizontal or vertical), angle of view, and aspect ratio.
Next, we construct the list of keyframes which is very similar to the world matrices of the transformed camera matrix.
Camera properties in the JSON file are based on user specified fields such as resolution (user specified in Output Properties in Blender), camera type (Perspective or Equirectangular). In the JSON file, `aspect` is specified as 1.0, `smoothness_value` is set to 0, and `is_cycle` is set to false. The Nerfstudio render is the fps specified in Blender where the duration is the total number of frames divided by the fps.
Finally, we construct the full JSON object and write it to the file path specified by the user.
-For generating the camera from the JSON file, we create a new Blender camera based on the input file and iterate through the `camera_path` field in the JSON to get the world matrix of the object from the `matrix_to_world` and similarly get the FOV from the `fov` fields. At each iteration, we set the camera to these parameters and insert a keyframe based on the position, rotation, and scale of the camera as well as the focal length of the camera based on the vertical FOV input.
-
+For generating the camera from the JSON file, we create a new Blender camera based on the input file and iterate through the `camera_path` field in the JSON to get the world matrix of the object from the `matrix_to_world` and similarly get the FOV from the `fov` fields. At each iteration, we set the camera to these parameters and insert a keyframe based on the position, rotation, and scale of the camera as well as the focal length of the camera based on the vertical FOV input.
diff --git a/docs/extensions/imgs/blender_addon.png b/docs/extensions/imgs/blender_addon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f17abcb2a10e94dae8e4a51518b4ba6b4249eae
GIT binary patch
literal 38799
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
literal 0
HcmV?d00001
diff --git a/docs/extensions/imgs/blender_tab.png b/docs/extensions/imgs/blender_tab.png
new file mode 100644
index 0000000000000000000000000000000000000000..77390f28eb51343bb883302bbdac8784c31b2ef8
GIT binary patch
literal 93414
zcmZ_01ymeOx3-NXXn?^9?(V@I1}A8+;K4$0A3V4_1h=3G8ryk!
ze^|4or@D4`)$Zz=-q*d05G4hvcS!G%prD}M$w&iLprD{TprBx&5Z*#c0ArSBP*5nA
z=HlW?GUDQ-O7=FU=9VTq4)ILmn$*U&rw>I`L@JKOBR0
zUmh4iA1~QOcM-(dl%9_JtL;;8WB2|zTj*!;C7KO}LsTePzyJkC!c8GSu_y2v7A08s
zZYf$iID!-va~CM}>uMkWCo5`~ZFLq0@IDPL_?k?QK02VM$g)QEa^q9WSOW@OYTiWV
zrY!suy@z1D8BN8fM;m{b$WW3=S}bZxae1G)3XyoMcYoe?jZ_@nNhb^^iIMTU^-0o4
zsdm{Q+NFsQ5*KgvBC+Qh+R;C3=*%m%%&BJwW0rKlUj`ro2EYadpr!UZL*_YbpQHqy
zE{f=n!S4qGSP&4^b|M9FgE2SN1UzFO*Lb#d(#ZQm)aEyLeA8?LRtUeiXo)s`W6p?2
z!!3v<8I9iRrKa8NLawYcGD8iujK%r7s9};0IXrsz*{0scKIw(5ciSe(Gd>R+qcTtXnJ&qQZR|~tcvGCCrS3ncM
zyA3*u#y49FY(sPj^3nv6UL8SKTdFOE{$_36eAa%uD)26WXg(l3Rw~-BuV!_0s(khg
z&s2E|ya=W>`bbjB?GD;t-GJsRY>b^BvZKRItt-;#-5k|XAq-ks
zDUDx|MW6PPfxvvU)D@byxT3nUOtM^rT;d?jwq}cgWXqS$KbMpoc|YY1h2q|{qQX#1
z4LLX)H#F2WKxf^}(CX{k;QOtj``fJ-S;yc*J#)aneVfv9K)%j@JEmOsbm}!d@7OWh
z^#*FhYOO!-jVw`V9r~KK80N_bSOXZw?@U9z*dQ2TbU3kgO>|fc5u_xT9NZ2k<~Nh=
zmgP`bJ{aXl#qiq($aAR9ex7Tjh43HO;CNt}eHqr?*1>Bi(tr@%+W5z!ND&aT$sD_&
z*d&V4;k&TUC1IkKD3LQJjPpK(IxB8m-tqnCU}i~;ER(O;4Y(!Zidneh1Yh~V7{}dE
z`H^g_97BkgJ#(5UKSE6mR4kd*!xO%!X)?_qWL|O>6CL<pU>_IqYcad@0U=X+ese
zyBmY&_8#1NL75$8>qH>5=Kv83JOCj=3mmE;3|Sm&x)P9<>WGq%IxW!sSKL{oG$ng5
z7m%e6S2b9xORHtokbm+2RRbGAQ;Kyv(OLh0vRJdDJ6MS5~8%3~@b8eJ-Iszd@{b2DKohjjmqPA#JetNE8?zQ_U;O#O?3N@cvi=kAsUSRt}@4&?a#Aa1T#sTeDxrzni0f
zi?%9X$XZ$RA+!E!!?R-Bux{Ep8MsX0Bn6JxieMymwcXOCnCe@h9r^lW+&M>1vbl%4
zXT1kwGoptkqVXdhwJ5a~^`U%ZvSaeZM_74@{6qPu)E0vSHmxB-Q~XP;%HE+q#twPw
zn&IN<;?<=dfpL%Qd#_7)94us;FqAMS93~vWANfBv8O^k3G*_z0wOzFlOSm-CtKDp@
zjM6QeyBb!&^${)adh^Hfdv;owhPlR^Q>+q>o%nyI*Xq_RQ#Uf)6gCGnkF|6>SHK>u
z?UUNiZH?_n+g{mW@vHN$*#G4FlZKS`EsZY?e?)l%IsGtQKca##f$!UOVP#HB9jI=r
z?#Q;D`?J~A+&Honccj!LP0eK&CV^!i*T=H)eP}1wXzU)#)$wP2j&)
zdQZm0Yo)kAV~tW9x|lj5Qzn19{>PO7#BwkC==8|!(`pd0rWNSjlM=q0{G4pT(dh5f
zp<-AY%tVjdJQCWs5PL1ePwlR8BcfnG@~l(6RJBC$g~+bv?o)=$N_Z1jh+nSsgwU|d
z0@z$|LV8~TpFEY(qHi`p_&RZ`=7MC4=neE6>^Gj1arq=E*@EH%n-lU6$%Cds3@8kb
z<~TxO+(jle^G9zg`FF~9EK|dVK4vbmkA7L%a81AL+&$G3(TZ+fs|{dAo@IQrP`>!t
z)7=xc%i{GYeuu^>@m^x$r?%YV4@<337HlRf-JKfC%?g(8#|>mEW~w}@%paFO^zZDh
zqD+KQi~BUk8zvmKchtJnHq^K^;7eDUCEY)+r}SF%mXv7s>S#2blwGUNX0kZ3ELZqc
zh_+-mGyX0%%-QZyBM?qN9<=!cr*TyF;kSqZ^W)1g|^5
zH-YhiH55isRUg2d#Lv_Bv$`KmKVnN=N0tgm^48qVwViitHV?<{oM0x?5ZB6E)w|et
z^dA=VWPTGQas@9XmvhjJR*Vn}?|PT+H=W*7;5M;L>0dQzy7X^Otgi}q@h=_Be|DKa
zwC}{uWQedbT8Pwr*W|YGxv!dImUotACAekWnd5xtSUb+TdUa>j%Zp}r^VoCFMZ$5B{xb^rQf1UXV`O$>7S`rRD<`P&kma`Zvzw7S
zNz0(;>`P1CXqL?_{3)85FtxYGjPMiYzUsVL<7k9FdFv8M9}!-(ZQfG5J~Rr~2MXBl
z+>KCKc~BxjFX-_h1C?u8qyv|Sq%bdt45MLw8;BxIM_8@rN2XAyZKi@G_MLj?$eHMH
zO5C;U`50P(sYS72NQz?qEj~WAJy6l_q3;-p@b*?eu%5ZXquiiE4Nu0KDFvXfCmUJ>
z!z^p@y9(VY#P3ep*gv+whaxPs-#)cMp&G}eS?!`^L&A?ACYmy)A3s9TL$(p1-aunO
z!9up6A%9TN@1frOwG9O&3r+Ap+bYns|I~qjf(kN+g8Qe=XUOO4D;n~KSpV}08yg4(
z5BY`xdHZL<{97BkBMbK5ZOCCDFHu!-85zi@s*$~kiM7L58^?q|R7FSuqOG)+0~8bv
z)$1EtMuqYW5WvNJ&Wr?2S$NRDhEIm_xn^
zl7Dq{wB=)AadB~BcHv;Qu{UF3-cU~+J^b~FSrSvyeteUN{T12l0k
zvNyMNG`F!PeLb$>7aJ!>L2~lf6aCNY?{=Di%>Q#HYlnZj1?eEm>mC+1W>%K}%goW-
z^#8}~baPkI{dZ{%;G-|I^~XOaHfpqP;o94~DNz6Jq=44F6sBPkjNF
z*GvCjL*egn_E#xnpa~&Cg0FuEtq{_b7K0TOln9gzQ1lZB`e+$G$yj3g?Hc)R+9e~e
zADk$(7CIsZ98gIKh>k)_PJhOLL>)~D17m8B!xobRC)&@uo8};ScdFfJc4Ixsu_$P6
zW?FQ!zklM+kOuyJ;IW(bdy#)U&0*yJ**NawkGDoCUw?*7ygc8we&|Hu$fe6qB5!_q
ze(+NsB3Bj7B2_}CML-dQv+emXDIaH>Hp;V|?y@3N)&l;P;y58Q$xzl5TlP@^!Gwhz
z8x9HPjgPO0s6iV#Es)1RDKYTh0#Jd`z7=H+z0ZFgjNdyq>z}4a-29p4~c@mk+^eCi>KSJJaO|S?T%41uNySVO
zku-EsCQoLBt2Z!l^6WBtayBjZrf$#oyBzp863uy$udcF$i_U=G(g&>v93gI$69WwW
ztpvG`ikf6lBEKLLBz>9dw`>Q12}1^f*@`Dw_N2
z`R^=UE~|p}SQlGTgS5qTMnCb3(!4Q}FauUf;r*?Gv}i+KN)9~9+&fy5@)a(McOAcD4$z~b#t0*Mn0j1JwCABL9Pu5*I
z1w4gP2pH!>?1PL?GX>6D949636E5agze;X_-?G3%gOSRd!O9mnaDgx|C8gD-o^-%D
zlmwwBQ`_jZL6+9E($;4%+LWcR^SA`=u#~s3Z6yh_Qf_fRn)h9&)~^-&K_<^DS@dc+~DV`7sek%Q(iPqi9f`X$9fu-B^&&CqqH=hRw)DesAO2ZhA14c2TZLBx#%J
zWe)S4iX78)5yi%J!@%yVcTr%Psl~!{@e1dE;#y-9|E3`pt1HQPz&i=?bqDVkO!f-h
z{Ha>?de}bWD5e!AXqwe^(dFAoGMae29L;32toqiGW8ZwPN5thi`akBt-vv|e)eqo{>%(s5>;nvc&Dq`UM{7X*z!n}y(
zY+v?=eKRTR7{XO3f)N1X#uqF4TJ-5)00mz&(Y>oAn&6d^di>=OhawFfSBU|h4$wbJ
z;6ggZ{iJ?!!J;f(&*MDrYC?|1lwAY|!M+dJlJa4ABZAaMaUYF^WvItq6UeD?)l05B6UAnnGp7-+Gaqh5U4cw$yl-Apm==fDW
zBZ)o~dxHg!t0qnV;C*JRVcu(W2Y*Fbo;2G$Xylv9Q*fFdl+@JMO8Ol(M1>6(2n!=f
zEr#5_@yFJA)$>+Cf+$PVKvCcv$amUwSut%Rs;x7~SSkP6`|0}9Ox^miRcRRO+Z1Q~
zYL0&V@7ZLtXDZLz#?@in&(`(Z6UtIV2}0)~in(DdEj+r8;}ZQD=|FtM1Z7FqM({z=
z<#mFF9`CBd(*Q%+5E5PSWnQ8lpRUuinpW~}DWZ5B8$S$P=XsM!szjaGLuG1X2OsuG
zu0HIZVI+p)Xhb~aF3+v&y_~3>=u&WmlVCD|g50-NJe#KTp6kW?OG1aC7#wZOKTGhq
zc=BihXCfHSo69l`B~>b=ewJ9Q0{*Ji$Bld$ZU?_~0@?obQ>Sj(Z%IX>2|wCW8=9Qd
z?`BMmkH_ehWU#r_keeD#?Fny0Ja?S6Je&+(bjmII*pxPrJo^)#xt+DcJG2s{k_DkR
zG|enq)h_?29O7Q}*uPn{8O=TY8|umeghxcVM!EJF?>yfjQr
zXC3n#Kg($^6ZPEa80g>$r?3YMg4ekf?AFmk*nQKxv>T2p1}}u(Lr9wU<0gs290V80Ngcd`n;%ZRfv>NRt*lBK-0=rA+6Abi|;4
zFT3DzIeck|GH{kek2MI+Y$9h1376hWY<)CArHhU6ZG`+}Tym}tzdY^=@84}kjXFI(
zoq8+k-*we+jkE*vHWnxvU8lBs0GpKV`&)o{#N%9ED0d+r)gD`&mAp+)Dg*@dY%-N0)fSr$CKZJRpKfYfhfRhtANt@4ZAET0OQw?ugu&xc
z73-3L&s|chaw)8U@|&Sm)&ZC|7E?_QtB<#WGs;`$yUkYQpLp|VmA@C2)O^OdidR+W
zpJ|OI=&l~-S~Tuhw5%Mi5Uak+ZN6Dx(DGnZ4jtM^i^c(TlMCKoc=b;+yVKvUY7~
z0BG~((8MHzV*;M5%RHGFq-4#{yKzT(E)YNx9m5mvEsA4Wz|&=>maew^$5pBeCW*Qi
z#(!7}-T_6E>1kpDCiEdgU~<`IHJ!;zj|2^w?ddE?c<3Iajv%9jgsFum^{a?2yr0)K
zPlTovVb=c|V5;Lo
z6dJE4Xw)xSH=4w@?B}PlTZ5^JgEY6Rxy>>zNa;MU+hNqptLCDC8lFQD*W)B0Hg!-?
z@TkXlsgsE{UZOZEFJ&AaOzjM)ZS}5)+x|K8`Ko~T6hn?NhT@&es;A;~X7Yt*S>*_y
z>j-NsWe+kelxdUnU8hBq;7y-Jik)F3tIEu0ixNi-?2(;yf}oGw%O9fV&4eH31-!O6
zOChrz7zr9EMH2i8B;hFj6b`iLe4i!WA#!NGXoX4UY>HU1=js9%ODlmK`)t)Of`a%-p1u|GGXbP=}
zbDCxMAa*fBtD7uv)own9aH=41PRTpe_oawt
zOO%&f@g5M8+ayyI6`agzrodYIQz6$z4`Xsr9Br>=n7k
zwW~s>_}10a>hql=xJAP8QC^ob0LJ1WmOxEPy&Bq1=S8c;$Y10rJ>ie9mjwnI?3>et
zfLrncpdOIt6D5EIW;XHxaKtpE;1~1;P$~KjdtALAak;R2mNcOswUq%Ytn;I{A8?HcL`nUADz!Oka=0l6NxV(1
zHOoY@v#Q_zF;5{1q=qx8F_%E;(7>W(=>@JKBKd(w`b4Ultb!P5U7fn0$xQ~7LPEr;
zi8DM1tg4iM$OR|3&@$C;#op_B-P0O|D)NWFFYEaeVbO;ONT!fx4UTr9_=TA)k&fyx
zx9dnkj1d)7>pY`nwvAp9mwzLr<(F#gXAz(HF|dK~9AA9_w^;;F;hY>(Msu|;X%Qi_
zHcaHW$PKsR$5lZqrfW<{Cwt7A2~&(#XnlJaH}{gbHJZ9?Ctp~-&jr~U%2M5QqJ-$u>N4W#S0ek3($e?
zEHS!%iOk|*#x|^*TW-8Ro#cEFkD0O}+zR=VvouwISlZ~U7neCCjid|=9krV%XV%|3
zA1TZ>pxbZY#&Jb&$&DyU>&VCzpD=t8dky=!RT0ZJ1oJp
z88xCpA@n@!3-u?Rrt<$L%-W-@8;)tu`u%e{fsa*b(<2?i6%6!YoL^UAEpDX7kc&3q
zPBo=(&)6-qJvMyj7vkDQk3pbjS&}`L-fxCdNoYnCmI3MBBSb^X*{yfo7^m0Zpv~R3
z4w=vJIF#z)e!ya4;*e$nS%nP%k{y{(n>3LC)e0F}lbux0lbaY6f=NX`&0r$kAYK6}
zB6mDyem;7F=ph=H!ag`@-adR!|~3R&%>1WN?<
z(A!57LhqleyxN>J6frVSsMO~=!{)Q}tL)7WtuB|GQ7v^`=pkw0a8Fkgr7n6&<>>Mt
zBUGGousHMVb*JEcz<5A)fFpqH=!k+p-7*s2ETlp-5=+rY*REq~Nhzq_Okh~**mc*6
zxoS)-y=PX$;L`%$Gr|}@ISy(E+wXwAeK}OW5-tnMj%yUId-2*Uxb&KkF%}n6v7;r0
ziq*}&hVJ~PZrOeLuXG(TO``A|k-u&<(rz4(R0-35ivB>AC=X1bl4Xh$k@%oXbxS9X
zPS^EMo3!P<}Drn2Ln#R$c{ttNoOp~%zOBvzjnYWrLnL#5*AQ&_d=K}ZJL|x>w=txO^F}0F*Y@vzpuArv1He7}x&Z@G
zj&|w94M{nJ;K?1WM`!gi@88%2#=ySq5#!x#&~=*I9^x1+4ll-Jl@;eyQ0kz-fkuxBY+$7ewZBL;-TGbWZie&%}lKCOfgMUSp_G%Sp@lWU3XwpBE>~^xv-`^NEfktM=)0ODlJWk&SDYz
ztzK3y1ues<4{tWZ2MI((mdh1OtjZ2U?XppSyy=moF^&nWo1c4h&hCL7h8^D*qBDLU
zEH-`%^38iZLi;7>-eHHJHKE6ln^W8XKsr_9q1bX%)CW-_*zyX567tq
zku~TH7zu<+=fMH6Rtobe1hMs^GHfb%b+A5))^(4`S?H`~glTLxf?SlL>jebEr!8l2
zutOpAgSVdRsA0=rD*6s&DcC;~#wQvbV;%M#)Ct{h9#H0rFP)53s5nPuB7Q*X
z&_z>sM~QcQx@FEevITKR3m|s2g*v;%IiX#)MSNi|zv$>}JWDG7f!PqBBY>L0W7#>V
zQlM1%#P6gc-y_!C*GngNd`3$<&fWW`kCWoVv+KyWwd8CMl?up;
zfc_c$$67t;rf)l*rhe;PlLs|-hq$BaM@}cI+hHv>P1T!+p?B_ne|ibK{0q^EABPw&
z{dLB1??GVV>UG1x0-`%t9lzVJO%c$%EmwIgd65IQtjseX#JgGyn@3Ea7-o@RnkCxO
zx>OA|}QElSf;P>hvFitE&z#xx10U6v|kWH;$s(w)eM6<#ml+@T_1jE;U1
zFKFqbcXiQu&r9lb>CcTEHb;OdgjMR$7feRw@l!CAFuN`4))(rCiXAw_JA0kJOG#3E
z{qBB-jT|1fi#SQ(n9^t*74VxNqmNslwC4u&jR+gDzkmgW)cBJk3X^9{-x|lzl(`VA
z{ozVU!&De4K@PudP=ec*Pt?7(Vh>ArBKZ2Eo^(tfVeE}#nCpC!4u=_h8iH0#{2*So
z7;hvX)&Og-Z@}*n5>=&NYG>h4zUho5IRWCqz76|x9?G9X?ESR~w~O`ds`CA&yT)}r
z>Z&wWhDQ9QkX=GS1M813N2P)$Qw%Yc3AsYYTyh6z2fs&X8PM!2rM|ZX$SfJjlftxq
z0*dmZVAyvz)@+v;iQ>%WN~#nZ#dCb}hN-+;8E9k=Mt3D8yKGKyGZ;r+D{(ZQuJj<1lQD2?O##BspnJ&Wgwn0V5N2`+kgj4TjjYrLxD~0wjw6^g^3}0%o
zq{&4i^I~}#--OP9I3&(U4Ai8*4a7(zb?^pOzgX&VQbX9ISVm#v%B?9L=gjQM?Vs76
zIyvsR>LQhkn%LF^kCH7Pt+km1`E55*gF^B#268OE(6O%?P)b~Xdb?n+v|~^ec`8nJ
zvsghgZ+uG8vpfLVf~*hf*OXYaOEikWtjtOA5JJb+YCEnaquw!@R8
zKYdLdk*&FzA%hfe`H|qFv0_kGH^tHZSfafjKJ@x$ngFfBow{BW#Lg+|t9
zE@>0T^Xueu5v6p>55bN(T9>6|fR~K;a9??YjxLFV_tb4j1^lnHhK(c_0b=y)Mtv2C
zQz;B|gTE)u_KnSmKwRi6@pjdDSBs!DXl7B?bhPw{ZSni!l%L2~h}8C?MoM5+RsN5>&M!oYt+4#r3ZD
zogtTy(rSfNp}ldQsBrhR#;=5+%7@=2DvF{8SpX3)v7DKYl~Mw4KW9wni5k?AeNQBm
z7k3u?Xa&fYWc(&s8pL-h}1!hVvmjgZwEl6tT=#!
zSp9GS`89DDPfG)zrdZ`>(M#U)KS$d0hT}sUoJtMNRAeC5BuaqHRIi#37F-|&%*PO0
z9;d44d)xQJ6N!J-A0zZx*#o2bOQv$OU6sNFm=Uzf>U9*0+n|JX{oQkHxHJp9vC4v|
zmv?gHKwpI>1>WuWd$#BmO{5YOv3}KmT(ODfV+(q;k<>fp6Y6CDFo4NO$@5HYV*dBp
zQ7B>7k3bDjbUnA~CV0+31gIC$95b}VH#ur!vMv9#94`%lv;%R40uG8CV$4Hh9`pOJ
zreD#(ko(s3EUbSgJ_da2D$<=Pamk40;%Wx7$IubK>Hd3_?f`Aj$M&j=z+huy
z(3+2sxRK8roIbR(Tdjb+pa0|QDjyMTU@%;!`*VHO)6HT5gxNMsK3N8Ny82#R!r3%m
z&p0mZ7vyP~X5>X168NcC;QXV7t&)wg1CRnP;A$Z}=qg0fgZ#AfT0OjeCxxNcE=mZz
z_u)%dun=0@je3hp%fEgXhGD|YhNYc|m19nhD!AFwir`BV5SP-Oruo%cc8h#?{1GA3
z_2_)ntbM|!2i4L3%OF~wMJ6K(Em}iOrQNbVdoLONg(G(N_jQBV`qpyV>(|y8p?|$U
z4^bkFPu+62(NkO3QEYDUFvNSzzM@loNx=T{RX)CCm$3O(VuF}3W|SgIAXa>&tm#5F
zaX@H+(n!A_-D$=Bw0XZ9SAXcq`*N6j5(4m(Ls)kdw+{E+i55v~)DI>`rARzKyrMe%
zB2$yTyB-3YT>g_f3Zr=qc5aIz9R|ptdW!~QWwFsxaU?Zv@E$8eOdnN>_Mn&8oiW|}
z`FxB8W8aZRZ5Rwz=wkzbkFINzfM{Bq=c;!mY1_M%BQ%jxL$f)Fjfvt&=}**37vOg;x9g&G_qip9xhWo
zxj$XcPC{CjHlypZytFF`D?;403?bjnOLn~s;MygTW}t6Uwxv&h1sSFj8~QL`c{eaJR7jh_DILqC
z=~n7nI<#bMDXc)UjmIW|`Tcg{sBDW`nQuiJWX7+YXo7&xiS;0oXJ`>{PMq#E;wQbf
zR{_v8)AL5bcaOf+#}%T3I%Jxq+4bbR+n&A3IB~sVN8WsJlvBp9N&P>cWuA4Z!(K
z%iuQ9GC$~fpWy}GFP3k8h1+j)MtN*e
z>{rj~9nN%c+rGs`MCga0U`H)F1;ODdSMsLw9fEq#(p>@9mg!}zd&
z-2jTE6bzmrs$<^$PAbdpUwTLGMhLNeAK8A@q{85XA%b!XL@VNN^=RGAaJRp;Zn@tP
zK%_H~(R%B{)_m~0h|jwYhq`>D{uu&_2awX5O36UCF)ht9ESvaFdJw7G{CZkrbX(rw
zHvS2sPo_VZDB!_fxC9B_S4llbc^(-d3PG;BI`wn)%x8vuIrO-ua`Hh4-Aj50FrqT2
z*hvLnsqLiz{2BGV?(-NE1(y4BydEOND#6U*uQc9q1ktlkNSE!auNdT0kn>fC^
z3qz)x%5LbbXf56NVsV_qvQ{rtQKSc5kMr*2rG{92{G>UWr7vMj6T3pU^^TA^C+}B5
zN<-Y;6p@wkjI<@B3q!MgyLJhy&o{N{l#U0#3U)keTVI||_c=1}<<;Bb&tINaU$&Jp
zgp`h&;$PAAyb*UhNQbNdeO>tZJnB`^HZf^hvLDPVDr@1p-G=BnBSycENM7!Go1*%Q
zKJCB@--)j1FG41C4zhj7Y;zt)DEq0FOHuggY6UFbPO{m~t)|G9iS(X05VqwkfW_E%
zu*2m%$O9$zRlAx+)Alr2+fS5+*8=@!^+!BS07!G)dqHGV6MJBm;RnZYoq8Q~JT3%H
z_p7&p->>$V1AlT>^^u1ed)00K(5^VC<^tp&Q(0t^{X&7o3JR{7a&oj0{kF(Bovh@6
zBhWL$D_ab?KVXh)jyuV`R}c<`
zz%#|3p5l)*X|`g-0^6=cHZ7d=^7tmS${EzYcF~*d@Fen(L>dLiqq{|={3}!EYfdLr
zDT$~5k`UF~EuQP4?|xl
zR0;Z`s;MoDUM@P3*7xGT{dtOgDe!JDPq$_jQDd3U%2xvjK?F9$G-BISd>=#8`ru}l
zofnxlzca!-wDq|-$mx=R$AT)-nwXwyUV>4kt?V>)Zloc(0Ed<$kg49gA2^Z%N$BCd
z6!=sYP!0K=D~KFutkQp&ZGGm{=XksGtPaK4ysDTrDrfP2I=!hXoOUvHKv
z2T4F7v8QDRKRXZKiGp75JPz}H2a9
zHRxn5k>Djwwy)^cxv%*M=8&|8lPdCAEwgm_;@A9+1+z>~d#*WBPIp|4vKRnVBB{8c
z>G3c9U;zw)2*gd;8)*gJ%b<4j{W+tk;Y)L1waXBm0pT0Hm;y*N7{~y#({MesSw!Gd
zQ&=o~t6QrPY(_4DfBN)CZ-HD4NwzL13o9`|?^GUvC_NiRfLdgJP|rDM&kAUQx
zX*%VTrm^Tjch8RdNECEffhrSydEGMjf|b?-lhD*r>xOLrJzhcI#u_&1)h+v_Q?8
zvk}4Dr6nO>9A8O{>s+C?anG#9Esz<`OibWvO#E__T*0m4Lrk0!%jxxNo`hO>aqvYm
zQjSq1FLfr~HmB?jX_W-d9fdGY`**_APY#QlBmxSTI^Ot>Tc(s`dgfbwG5D{N2P39a
zc!Hg>q$fsHyv7JpATJDIrh^c&8btniiwEt7**~w)2|a^Iv~EDQ3`CRt$vuOZPRsT^
z!H~zLo1fPR?WIcI|A6Mhgjis(pGxlC0g|c^k?lt>^#)*l8Kc+**46eH(4v$kE{Roc3?tnKBp!vD!JMbPO+q;_C!kZB
zhy~{muL26)Y1G^uF4a!so1}QBsIFvCWeM%3;`n?i4`vTDw*jah0{dj7XFZf|v9Q~t
zCwChJ26|ndD23TM#<#0!`-=7Oq6e>~&uYqgCaV*7&tiIk=!hz6B%`q|gQ*f{IPaFi
z>HLSKj5JAVS-JW!96qJuP{?QgT3CWeh!b3kmT_gjIt_`)2r~NtMy$#S`WvD>gdswj
zRT2FS-}Sf5oAg^CLy-bz2AjxdERC%lmRxWKGpMs&Nc&xEVdS-!yh+<