From f8c26f07c292246150f227518ef897ee73ba3b34 Mon Sep 17 00:00:00 2001
From: Justin Martin <36707217+JustinMartinDev@users.noreply.github.com>
Date: Wed, 14 Aug 2024 19:25:59 +0200
Subject: [PATCH] Create doc-deploy.yml
---
.github/workflows/doc-deploy.yml | 55 ++++++++++++++++++++++++
docs/docs/available-scripts.md | 37 +++++-----------
docs/docs/supported-features.md | 70 +++++++++++++++++++++++++++++++
docs/docusaurus.config.ts | 10 ++---
docs/sidebars.ts | 7 +++-
docs/static/img/js-logo.png | Bin 0 -> 25491 bytes
docs/static/img/lua.svg | 27 ++++++++++++
docs/static/img/react.png | Bin 0 -> 84125 bytes
docs/static/img/ts-logo-512.svg | 1 +
docs/static/img/vue.png | Bin 0 -> 10301 bytes
10 files changed, 172 insertions(+), 35 deletions(-)
create mode 100644 .github/workflows/doc-deploy.yml
create mode 100644 docs/docs/supported-features.md
create mode 100644 docs/static/img/js-logo.png
create mode 100644 docs/static/img/lua.svg
create mode 100644 docs/static/img/react.png
create mode 100644 docs/static/img/ts-logo-512.svg
create mode 100644 docs/static/img/vue.png
diff --git a/.github/workflows/doc-deploy.yml b/.github/workflows/doc-deploy.yml
new file mode 100644
index 0000000..2a103aa
--- /dev/null
+++ b/.github/workflows/doc-deploy.yml
@@ -0,0 +1,55 @@
+name: Deploy to GitHub Pages
+
+on:
+ push:
+ branches:
+ - main
+ # Review gh actions docs if you want to further define triggers, paths, etc
+ # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
+
+jobs:
+ build:
+ name: Build Docusaurus
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 18
+ cache: yarn
+
+ - name: Install dependencies
+ run: yarn install --frozen-lockfile
+ working-directory: docs
+
+ - name: Build website
+ run: yarn build
+ working-directory: docs
+
+ - name: Upload Build Artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: docs/build
+
+ deploy:
+ name: Deploy to GitHub Pages
+ needs: build
+
+ # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
+ permissions:
+ pages: write # to deploy to Pages
+ id-token: write # to verify the deployment originates from an appropriate source
+
+ # Deploy to the github-pages environment
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+
+ runs-on: ubuntu-latest
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/docs/docs/available-scripts.md b/docs/docs/available-scripts.md
index 303ce12..b9cd8b5 100644
--- a/docs/docs/available-scripts.md
+++ b/docs/docs/available-scripts.md
@@ -4,38 +4,21 @@ title: Available Scripts
sidebar_label: Available Scripts
---
-##
+:::warning
-In the project directory, you can run:
+This section is only for **`Javascript`** and **`Typescript`** templates, and if you use **`Nui`** integration
-## `npm start`
+:::
-Runs the app in the development mode. Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
+### `pnpm watch`
-The page will reload if you make edits. You will also see any lint errors in the console.
+It will run the watch command in each sub package `client`, `server` and `web`.
+The command will create bundles in watch mode. So it will be rebuild if you make change
-## `npm test`
+### `pnpm build`
-Launches the test runner in the interactive watch mode. See the section about [running tests](running-tests.md) for more information.
+Builds the packages for production to the `dist` folder
-## `npm run build`
+### `npm run build`
-Builds the app for production to the `build` folder. It correctly bundles React in production mode and optimizes the build for the best performance.
-
-The build is minified and the filenames include the hashes. If necessary, classnames and function names can be enabled for profiling purposes. See the [production build](production-build.md) section for more information.
-
-Your app is ready to be deployed! See the section about [deployment](deployment.md) for more information about deploying your application to popular hosting providers.
-
-## `npm run eject`
-
-**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
-
-If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
-
-Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc.) into your project as dependencies in `package.json`. Technically, the distinction between dependencies and development dependencies is pretty arbitrary for front-end apps that produce static bundles.
-
-In addition, it used to cause problems with some hosting platforms that didn't install development dependencies (and thus weren't able to build the project on the server or test it right before deployment). You are free to rearrange your dependencies in `package.json` as you see fit.
-
-All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
-
-You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
+Builds the packages for production to the `build` folder. It correctly bundles React in production mode and optimizes the build for the best performance.
diff --git a/docs/docs/supported-features.md b/docs/docs/supported-features.md
new file mode 100644
index 0000000..0fce984
--- /dev/null
+++ b/docs/docs/supported-features.md
@@ -0,0 +1,70 @@
+---
+id: supported-features
+title: Supported Features
+sidebar_label: Supported Features
+---
+
+## Supported Runtime
+
+
+
+## Supported Nui Framework
+
+- React
+- Vue
+
+## Supported Language Features
+
+This project supports a superset of the latest JavaScript standard. In addition to [ES6](https://github.com/lukehoban/es6features) syntax features, it also supports:
+
+- [Exponentiation Operator](https://github.com/rwaldron/exponentiation-operator) (ES2016).
+- [Async/await](https://github.com/tc39/ecmascript-asyncawait) (ES2017).
+- [Object Rest/Spread Properties](https://github.com/tc39/proposal-object-rest-spread) (ES2018).
+- [Dynamic import()](https://github.com/tc39/proposal-dynamic-import) (stage 4 proposal)
+- [Class Fields and Static Properties](https://github.com/tc39/proposal-class-public-fields) (part of stage 3 proposal).
+- [JSX](https://facebook.github.io/react/docs/introducing-jsx.html), [Flow](./adding-flow) and [TypeScript](./adding-typescript).
+
+Learn more about [different proposal stages](https://tc39.github.io/process-document/).
+
+While we recommend using experimental proposals with some caution, Facebook heavily uses these features in the product code, so we intend to provide [codemods](https://medium.com/@cpojer/effective-javascript-codemods-5a6686bb46fb) if any of these proposals change in the future.
+
+Note that **this project includes no [polyfills](https://github.com/facebook/create-react-app/blob/main/packages/react-app-polyfill/README.md)** by default.
+
+If you use any other ES6+ features that need **runtime support** (such as `Array.from()` or `Symbol`), make sure you are [including the appropriate polyfills manually](https://github.com/facebook/create-react-app/blob/main/packages/react-app-polyfill/README.md), or that the browsers you are targeting already support them.
+
+## Configuring Supported Browsers
+
+By default, the generated project includes a [`browserslist`](https://github.com/browserslist/browserslist) configuration in your `package.json` file to target a broad range of browsers based on global usage (`> 0.2%`) for production builds, and modern browsers for development. This gives a good development experience, especially when using language features such as async/await, but still provides high compatibility with many browsers in production.
+
+The `browserslist` configuration controls the outputted JavaScript so that the emitted code will be compatible with the browsers specified. The `production` list will be used when creating a production build by running the `build` script, and the `development` list will be used when running the `start` script. You can use [https://browserl.ist](https://browserl.ist/?q=%3E+0.2%25%2C+not+dead%2C+not+op_mini+all) to see the browsers supported by your configured `browserslist`.
+
+Here is an example `browserslist` that is specified in `package.json`:
+
+```json
+"browserslist": {
+ "production": [
+ ">0.2%",
+ "not dead",
+ "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version",
+ "last 1 firefox version",
+ "last 1 safari version"
+ ]
+}
+```
+
+> Note that this does not include polyfills automatically for you. You will still need to polyfill language features (see above) as needed based on the browsers you are supporting.
+
+> When editing the `browserslist` config, you may notice that your changes don't get picked up right away. This is due to an [issue in babel-loader](https://github.com/babel/babel-loader/issues/690) not detecting the change in your `package.json`. A quick solution is to delete the `node_modules/.cache` folder and try again.
diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts
index 578f951..ef31cdd 100644
--- a/docs/docusaurus.config.ts
+++ b/docs/docusaurus.config.ts
@@ -9,7 +9,7 @@ const config: Config = {
favicon: "img/favicon.ico",
// Set the production url of your site here
- url: "https://your-docusaurus-site.example.com",
+ url: "https://create-fivem-resource.dev",
// Set the // pathname under which your site is served
// For GitHub pages deployment, it is often '//'
baseUrl: "/",
@@ -76,18 +76,14 @@ const config: Config = {
title: "Docs",
items: [
{
- label: "Welcome",
- to: "/docs/documentation-intro",
+ label: "Getting Started",
+ to: "/docs/getting-started",
},
],
},
{
title: "More",
items: [
- {
- label: "Blog",
- to: "/blog",
- },
{
label: "GitHub",
href: "https://github.com/JustinMartinDev/create-fivem-resource",
diff --git a/docs/sidebars.ts b/docs/sidebars.ts
index 288c4cd..8f0dbe4 100644
--- a/docs/sidebars.ts
+++ b/docs/sidebars.ts
@@ -21,7 +21,12 @@ const sidebars: SidebarsConfig = {
{
type: "category",
label: "Getting Started",
- items: ["getting-started", "folder-structure", "available-scripts"],
+ items: [
+ "getting-started",
+ "folder-structure",
+ "available-scripts",
+ "supported-features",
+ ],
},
],
diff --git a/docs/static/img/js-logo.png b/docs/static/img/js-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..645064a8c02cd69ac5725b7960a98a247c5ff6c5
GIT binary patch
literal 25491
zcmdSB2T;@B);5X-Q4tUn0cipvB29V+6$GRRh8}wFy>}H+I?_R!AVqrbkRVmM^iJp<
zLT`cO+wt7F@0>Gt{&(JcXTEPM}xTK@U
z!7+?~Bl%LreRBKKtVVmx=ldCYY_i@_fLPG%{cnm#GFN*9l{20~CP>)om)G|yyi9HT
zzj&<7P95|()!QLTM_jekSfqpRzv0AtfAg_ppWv#K{j23X>d{N3N0I}NUy}%=yEckz
zm9=)J48r&*`yy`j*PE(~3&lGrZ
zZj!zP{J6;q{=13~*4c#B%Lkx^7y4IlaPDe=-yZ$j6FAo&{P&*tJLG?j@ps67ALAdN
z_%E^kj`3e&{oiB!^ArELw7+Bg;}icS`2Q#M{KwL;WBi8#|Ko{&SI>Ve?XRT&_{4vx
z=iit1|D?cwf8sxO{=ci9|5)1pyY>9z;{UGYAD{RS_58=;u~z)gPyGAh|J&;MpKTi-
z+JJxi=fnMv%KzWJJ^zPo^MBaU{r_p3|HF>%U)!+nov^-&^MV?(afz`%(@P5{KKO+(
z9si0|g$o5_dYhK7I#|r*g
z%S}|>o-my1DjTM4=_Y3|yfcprEa2{N1&M=Cbnp3$pm@@OlZSZpLAeJ<+KHTra$W*t
zf+Job*Sd>z(PQDP{e%NkkEA3XkY#3+4asV&QvErpN=Hg4$5X&yKpOPZUB1KU8Szk1
z!rLb#~W&PRc3z3Z>VOa2p$IA$2bSj+@9b3^gck0)1o)T)X?&FBP
zgiJJG;J$5~?H3NFN}bDR&5DHd2OSur9u#IK(41}lYw#x(fdU3%(vY9#l5H7vbcJ}8
zwP%dbpus%t+z1*XJ8?|Q
zbT9grsI|TM>0Phkl0Sjz>FpJ
z7b~0h9)ye^UV{cb1Rs>lgnKzG$b#<8
zxp2cU@`unB%7N+h>3G46N=NOX+4+?EwJkx7*{U4x3ungo6a3eUC@JQwqF?fQw0=@@
zL4l4`PCFmHjvLBR@1eD@uYv1y{#z4cug!GGD1-!tr_I|kCdn63TV!Bm`b5vnNy}ny
z+xluiKhq-d!Yj8C@65$
zZ&3FN;(k1au^qg9Oj86FVk@KhHH*7XA*pUI!<5%R($?a)9ph$r8ou?nZP+Jfx{}cWpZs3ao2LB!KN~mJyH0hyy6cHz@T!c-`oq|g
zNt3w52EUF@r@jV>>u+36seN3(4%pxZK>)Q^_v)0khu;mQcWP-h>yoV}%hRtXTcFeVw$B;SFydaZXYcPeDnLJpR?^SFTeFO{xad?SZ+bRXf;tyXjbq<
zNny>2l1XoNbBkMcwqkgDMlgj0)^R0=G_EFIlYVAb(8Z>w^?SwJ=u6}B^s0EIFwoiTQoJE{3JBKU
z+o@$I!^5k=^8i@R&o@xHTEnVscF_Y_(^Z&bmSIg;qaC&2{KW~v)n-D+^8$TX5fu5g
z(3=aK6rAC^SxewpEtA$(tE~#vY51kXAKR50kJ>QP2NfLKX6WM&m_)RnCn>j0ETa<@|
z$MLY>YJLP?PeQXZ9aao}mywhs-xJ4`<>lHw+q4h)-;6?m*;pbEQ#}P5t>4j8sj)6#
zQ>gQrqVP0FUo>imml9tdfAsLgeIfMVGR-yB&WRSro$}V=U$du8z;X_MAY8YFlpe$p
z6*@rQJlVwTpUF$dV_N;!Ul#H$YJhb8yE-!?i~}4O-@~b*7AC5ln%g~N(4qwOIH2YR
zJD*&K;gY*y*dyYJzwim2~8n|jYdu^Dz9V7W;}A1`!5
zwnSCVzN9%@&nOsS_c65~AJQpuV!1-rZ&oI_k;e|(ljunHJ9X%&5@ob)#~ymo3=OXS
zhUBx6kVNg&y1XClLavi%C|Wn`3DwL}a5$TIR|Hnt__^Rdg33=J>Mm+GWP$R~>#HeK
z$M+{50tL)XD#?l<8mhQXHpPwian;fahJ5DM-mIqi&eonNB{n<(vy8n*cJI3#h+}-*
z+~P{}>ud{JI#Q6Bip8dZ+x1t#?$tmyt4V#&t=+u7beP1pPx{sD`|G*Vi1!YbVW)V;
z{u3`k&G$n7BoUw8B_PknOIG~cMqTTR+~0Nf`-&<#9)CprFcTu8$+u^2BW?dZ*&C21
z))B)A20smriP|YR30bY@N3y+e}Q9adKwYdCbZZS(R-%ek@l
z?ox*}X;rVkNV|jP71%kkN`k2nxSy!jv+}aXVo%6oz@bbN9cy%Pi+srn&id{u`!#5I
zO5Vl32MuLwT6#>fos-{%{8*_nVf}5a0GV>8ZtZ?6%ROiY(q7yvY0a||v3iYvW@70&
zfSosW?D}}18mEP=@Wq_`Pn|;}RViL#XaT5B62i;ak$*J;XbO6=)>s)o1;F
zbX`o(h+0VP?1;9m+(V5P>voWO)Dg))8&1{2T^ROiDHyEy9?WXQ9*7t)VGRTVOj+Gn
zarcIvwodkH2$;7VIDn_vW!JEG9XDpVjglo$wvO<9isD|KK{Ujyn~vN7Z*DXc3Dq|M
zCAzwxwC_479RCDSr5G0NBpRI3boISZm8r79DvV_6%9w1fwXUylwU=LFr6thD&u(s5
zoD7VI~Yn|r7%`z+jJK5VO0nY6tG81qk#{86&-6z6fmH9Dp~fqr-@n`+Gz
zR-E(iG1?7FuyS@ihnmy$9C8MvEjx(Eb8oTh++ZvjwPV{~5jZ@w9UWM1Jb$~>%oxvf
z8wh*zJV;m0>r1t-6{p@@rNf$LoZ8e$91y359qh|ZJ_evGw=EV6Q`
zDzw%D*@Kv?o8@ee1`pOKKX#v(Y{wa@e{L)O<8Q%8e@&~PK8_IyXA}J12HVHO`cE8Y
zMi5rd3vtItQ#W1_ji?G_KIjP+^H%pXm`n4NU)wo_PNgp
z!toeHn1V!tr_@lr~7XiNWA*-sPrP6oGA)r%GjVY4kIo!Zcg}ftvbh6CrYNZl5-e4my1LYmGCn7
zJAAeq%SkV5&DL_`i>WSIiintqt+9Knk}&a@`U+ail@jfsEvq?#p@fwFq~Q}#Ns(v0
ze|bRGIJBD5(!m0@o`|Y&2_J^^Tk9tnZkKNzv5_M=nTdPI|E%D?(?{UghE;W#LCRHh
zne}R5*hXKq__Fg84L_H2cT{W7W`;jBU&q9oVdT#Fw4VtBy_DfQQP&t6aUt)^Y4^X2
zngO|otK9q+Zgt(RhCWyKNn4dkbHXkeQh_6xTJFi=i1iC#zDoIAf__t}=Q`-F6UIa(
z?i@*E4Kt^kCoAz-oQp>|a*{8Zb0K5^dV@#n8nmEuv6*N#a5vD2+X^Z9a3y|YMYSowq^SZzEB|h*uEgJrqSZW`rN{$`T2*x3N
z63Y^v+d?!u{Syg|Ye0@J?b6W=N#o;@GlW@e9w(7FWlQtha-h*iTaouj$D$v4QX0F|
z6PTCo)bo0*4laHDP_-9O102`)B0+3Ax8&hc?cEf!H(x9=`P|Qxl?37=9HwehA1Afh
zm({r*{ey#}A6EGU;o6xWq_yC!XZViS%=0khBrE4_=qH=D1tSywQ21Snb*3_&P2U!d&6FC$N2)mN~V0+R+!47+dYTw1PZ`J>7}R$YnW`
zAtE@n(c=fIaw~1LjZC}_@|ouvSlGD9L|RdGKcMbrfu+t&E$beco~5#^Q*P|<}OSqskv
zm`J{&bD0VYvhz+aP4^p9jkSABJQgt%ZEI2Hi`I4%_fW{>1ev}ZSvze51Fx&GhDN{#
zkW*f4Hr2UzHvU<8rbD!-&SmF$XcfU%!J}C@c)eZbae*zIZXl)%z1c6UnCfs|QW{F!
z9rebDA!0TfD#8>OSnmB4==Ss}G&f{>C%~0|*T*C@l$zqaeKE}c#&~5cZhPRU<*%&-
zn|y4dFrEvuU`5Et{cu5r1%26(C!o=1X=@tc6(yOtj&t|t)?JJGB^Q&czSrW2Eo9cQ
zn{D7+<7!9xja&4*v6w%CmU?43LW#NtD!_7%gbnQ%c2It~Q}McH5%@qH?*`d6_@5n5
z-6rvDl3EW3!+|aLLbs(Yi-DXp>xX>fJ1MYSw9btx4LzTVJv;bJnXxWw>%tZ`GwC<}
z5@pzV9Zetz<5-mbf~;qwh`^;ITzMPev)b7{xd%4#glet|!c_98KgmG?KXIwYDP2
zz~w2q2Gfdmn@%v7(K7tM1m9?W76&{|ihhJX0j(v6R`SiBkiAgiDYfdE1Z(7>@4=TI
zUOoR|@}Q34F#H9g>C|srVi~;ETG;Hc-<2&^zOR4T-}|zHwRZdSQd8Uu9e7@gW5jfd
znA?Dll>!=y`_-;>l*>|b4gVzDE`iqUObKf}f*e1$scqle6>v)3;F$_B>tLm>AX}nf
zSkFXv{U9*os1ZJiFZRv&bCOm1l0)mh-)Yg|PXjtNgEf=sB|@Al_^kcc-9nqm6S+l&
zzPE8*xpZ#93rO{>F<2X!@zwP~_J%S?`k{JPu*w$|d0f!^XOkSOES+?pA=gg)jjW3E
zXA2X`KXN}Ee-tABVZ0N%=I{2{Z@+%0-+?=h(=fDxPs?pOrsgDWDUgm%0*YO1zDf%H
zoekU(elG7oQCH)qzk{q>tA<6ZGYM%58_J7zHLDdL7nsV2d(Y1vCR+?B$&}u{2F$aD
zFMf5WKre;v_FT?EF918z{jb72qdB8w*E(p;1st0N9Y)`!o%cT!`U6{yThfuccMZC=
zq4ePV?g@yE--~)Dy!DaBgaN~Wbm@}vV-iC0jpU+A$N5xvO
z!xx_V`3le@yio8#d-qi4`#uaL4Odu=z)@uQGU-A>1nn+s+tb18vV$jKKH1RI13+O1
z&g(H1*4ZAz*Zcz;Pv)TAWS2Pbfaee2`Qwdt?}l;?j_ZrsdpRQK_Y<9pMrk#ZH`;Oc
z@Q^YJ4=LZt{>zB8y<{_$o~PPftqrc{B)OG8x*}8uqOdkUr{k(Zke*1IgU-P(h4k1^
zN^0N3onZp}h4oC+VeGj%)HjG_@qJ%hIsesCX1%WN*YB#~#_CKyBDRBLJ-0}}R?w`}z4UcuefTc@YhFIbFu8?A8BHyV%SB9dFRF@>J6n>b
zfuYh^SA;}OAA7#eDMLG$+KKqxcFt$c4v?gI9i5pzhVV`HpY9!mpEOoIHHq+VNogofw;M~
zQu!f3>dGS}^@T^PKRWpD01N+vT6Lyw<&{F%bwDQU7m0z}ePLJ5n)SGZ|CuV4a-Na~
z7B+08(tuvQ_@1))O};O`gXz{wAnf^ma*?VMN`g68AiF%ts{#9(XS~gu_Z@CsCPSk;
zTpzKh=AZm#;;fIJy6O;C)GB-3At`nOB&U=iG4=3>K&(uy_1iQzje;v+OTVkPWyo6H
z+Vyu`8lCFm%paE=rN>sdxJxUl
zh(wH(U?Y!b2qY>L@2qtPRc52e9DU>wcNaU#$<=($!fRBt(C(dU%gU=%Fe@z7F)NhA
zVqsbGQM3;1h!x+8PQ2zT?CZMeF_w2c_0M1h6B;5u;iS@k7sp(Z$xOW~y%iG${5WO4
z;~hh6Y&cZY=Y^6SmQr`bj!@!z5vjAX8)9`P>ic$VaMF58ZC89H@nEOh&aB=&`L8Tw
zj}7Z`e{sD`6IGTSwPtN7=R=~rSO0#dlRW6t$a~X#8ZqlqW8V{5(~}Qe{(rYXl!fHo
zHK?^R-iaRzV@_YKxJT9Iq2L#{Rcs^W@VmJNfpzJ|(wR`9@zl<3T7FX}d539~f#gITo?nz#n1jVpPeu-qR3eX%5CymkeB
zmt$!zpq$PBK5$~qcLnEqkX>f(%W6JNm(vMRMK!yp&aPg1m{*Ghn;FoMc^jcM2CN(S
z^T~$S(*5bffg?>a06Jj~h}at&M6{lsPe)U%Xs44T0C9OJ_FI6}3LGBFv2BMNx&{T4~s_kTgZ!J+L98d&4
z#K>*{9Qe+lc6!WH#%=0Zq+UOo7UPC0*4+~G?aDDoiWT=#5PFKKosHr+|$h4exDBKdd1_4PznkV<;6VOO(H)M4aj=y9n<7d39kba
z^gHS83@A79#~X)oTinFPzCCX}DMA7Ts(WG%lf(wzD-0UYE>fpC^X0Y9aDMeKcJ*|e
zex}v}`GQzEys3;H$No`%A~`#w!m55pS)VqyPE%X)m@1D-NKF&1Yp^#x-W#&$kM}7r
zL|X}p-7&vrel923ipmKgpFYMCu|%~6&oV2&^*^Ou06^hq3k9GdEuX;skY@;{a;&+|
znuUfwq
z4U8%Zg*!-Fbino#h|`mbBl;5`P>PD&zs0gb0G!B+l;BSzU}p8%P8VlSp3zn18C%kh
zEpdpTdjXfDx$n;5T1IVY?mha_pK8rk|N6vU7zm}QK01d0P}>;1R`YF;ODa6YF+9ap
z&E}~*4ViA00H+(2C#B3<>(0SvpxN(l$r%Wk8{KWKhr$h?ta1ms9ObbrR_p9f3I}Vs
z#!3+p&3OA5_EoI?Hb^&@JfpdW-Hz{sr&1u73#X)>t*e*R)0ygd7TXJBh`lDw!tnXi
zN`EjrfWd`0Ng^yhmtlQ)69t2U#b$QE9st@2H+i+KWLwDveJ8Pvr^qpI;H3H*uu7A2PWuoXq>a?n2VgiO7nps)?b>X1#c>3rFEq@P$A|1o9A}excRZ8%=lN&
z`2OA*z~e^jB8_uP=`Q>2A<#(!c1ZWfCXw`!jAo=_88G6O<&xf8|3_`S<_C|h%IPsM
zJ2Oc<5XzHIB_ghp=Ia@!4HTuN
z3=&nne^>DHWps!1j`p|Hk&u}p79KU)JX`NEUc7KMLh9m%$|vG>QqJoOt*xB%_A){L
z(x~MpY<^U4_jYGm9W<3B^^c;lR+sGjHrWCA@Sa4PMkfo$i=Xz-a@ztGO|f|=y8p!F
z_Y2g37osu4g4W47#lAeX5U5c6@&to^kxi$$B1u7yV8avN1^
zr@7DfvK}a1%DNmC$oJ`?b$u7Z7q)T-k{+~@^#t#g{9W{w$Ux7fox}Niu_>soJBCLR
zvTyiSi=lesupAx->(e5W&JE};G^GDMwr8-G78*$`vCT1)Cgzp?V>_w?<#cXl#LSqO
z4EHdz=>N69*wj5G-Ah3i*pDUviX4HX9txQRn_(VnNzID|>nFXQ4_}?(1a%`Y}_;6;Rh}
z3kb)(wJdZW{F{{Jw{r~+n)_VhhpkRc`*%?FK2n35S#*+Ju+__<2;+;B$ZG)(09L+o
zquXq-1fdV3#(4ybEM;iX^T>2i3Tb;Gqo5>P5d~zL&^%Yfc(21RN{mK6zk)RdQ(odS
zfNkg|+iG(%H0#UpJ=S(BZSB>lJZxLWH(jo4?(0eI>Z+?^nv)+|`ve=MI2t0i`#eYJ*s+Nh%(`HJ;T6Io!(zYYd6;T_;xgrgSIK@q
zeCxswBZ2yC)AnkhZ`A6=0wM_%LYdIovDsZ;Ip^T@G4m4
zs`RYrWC27B6lD#oD@#A;MU1cx>ii?5%-Nus{0s?S7xI~1el1jqwh5L|AN4yP=>Z8T
z-i{2rPD0>oQnyL$QJT%JWYvl(sW_jv69R}rA~f%;hlEq=n2I$`Xmx8+58d3j9w{LK
zE#DW$YT|W!pqk_2M|ai?-`)Ho38rVEMz}wc$^|haq_vk{x&gcavoH{$7;6aH|7N2L
za87IK=v<%P_K%C?Qctn?YcZG9lkl*M?P@ImFW&r8BPb*g#z^l)
zq=trL9M^ODT~q8<-wI>vfz8i^Wtfe81)`Zm*(W?Poq^B7vk^c
zs6^6jAjtmowCXptguxcrln3%_(d
z_{3>IY|y~)JSOU1P6}xLtSY8$*SQC^^~yeQ^VW6c2G_o6;W3m{+B
z9`9tnLSJ?VxFWy6cg~mbXA)We)irzP^2c&A^Ebl#$64o>hu760{21|VugKA%4cN{OwMDhkv2^`(l?uVHfeeGn}Kri&@O1cSRz6(2|
zg>+==`B)7ec$6}cv}`0}qSS$*1yCK}4I*wE1x9!9)kocpm<54#uIjl?#(m@E?YeOm
z9o7OkW`|HyQ1{T(GhM=cijPv0q6wI{Q9b0Nd|69>I6-4>pw@}j>93_koJz$+1sSy<
zP*Mk&!<0DO@{EDNeIGt~w)jtRpm~is4Cw=q!{0918uwpR4@!*bubWl#JVS;304jc@<@9bVBKj#
zoOMQa>m#HSfU40JMQp(P1-ekPGUDdwk2eXK#KAQ@qwNbR@_!W#ZK
zp4J?I7Nv0A#^Gl-tnhvmKpH?H61J7S0MH@$4BLU3)XT?>V0}M4a8S!R%|3Dfq(X
zC!r?ez4KAVAdrv()(B`?6-+^YFL@(Y-?X4*nAdww;Xb)utx8@OYxX*g_kysqgzfpf
zVLCcGFa!oOgxN&i5Ch=Sxc=1Of`@eydW=H$m^QazSBfvbxHzB}fOa^;sT+kmdkLw0
z%v>P*ZKW_9Id2BSfnX3DY%WD~o=9qSFvKKn3+H?Tyob`YL`M3!toE?m5!4j0?a!@M
zqFKC2w}Etk@8v^8bnfr{O9UnBI#}}?B&0$fLfC@ldS-pdGf{>vy9G+d`nVn7R5
zfbih6&*e6`W_jszJE_BV+`l{hP`T0l%PXuK0yLy(vy{U6kiQfT!`TuJ3v3mdj|AP1
zyC6Hiiom*}Mp3s$W342Y+#6q+z&q42fI;Up1K&U7Nb_o9~TGOp-5ZSX*aEB
zyOe3zWoWw0+P^3tnY^FI&)~WwX|h~*0hWKyY}&C+qlfai$g!t~tm3|9Z)A
z738lv5xbhF4s+%nXI^L9Ub2Y=NY9J}{w)vEj)GZ@8UtVN=7dMZ+i$^+Y`i_H6Dt{c
z_=hA-Sk!gPcsa!-0IWWzuP&?1PE%5iXb=kc0BS`npa{J^@j<5yyCcIcrmq<+yFUG1
z!fGoDl>PkMPXXwq8vH&I{T!p(tj
z_E73B7TOq}O*T{WGvX24Gz|vf8pm6peBqs_jiK>A(9%$BrB*OyH5n0At_sx(K`{lR
zA0X-G-VEOc>nxXpJ=~n;
z;~0ZRS8&+3uv*$J&BHe*pfx0-j?w1ghav6HdPmN5P;xfZsmKH0mi&wuD$#Y2FxNR*
zG#_ABu)$XDO&sYg%K^$qUS7{R8Iz;-i0)^@2w1)oG
zkc=BR-*aU1=}cxElot>flTFNS@5-CSW;!hg{0r$DYSQsok1s*R4RHE%GWrZ2j>k
zKkxO(w7KY>{yD<0+M}}}!GxJhE(pL(%=fSD-^bE*Um%R*Omb_7j4;PqY>Hwrw(^@o
zcC3IFrpXk2gf$p@Rd2l;RZvB->D_9CZK435b?C5@Nv!P3?^|DTZe9UgAoGH+g&|BN}8j!vH
z8qvxOUv-7Nd<*UcOA^@9;JNx@Q^Yrd>m
znMynW9lzqP{4c((5lGE8O1%b8W|J!lgwE%}ttQz$mdo@u1F$ytN0E|+cu3FlQKPwQ
zfv;F4WH99j(EKbLu*?yhb1S2uJJywHo|y(cfnSkhZPIG8CS|%$RWi1G
zk@BNX+R8)GpRh5Fw}~9sQ-!f^1C6Zc)oN3mo|xCb`RTZh)-#lDSem8vu?kLFZb`%U
z2z||Ou=4|ptQY`{Z&p75^q>5g3vqOvOKZv9#1Sp{mErMs289P#eB=JOWI;H28xug$
zH^;pjCSbcOU6OEkejWOz)Y^521pwyN4ql}ye9-O#J5%_jq%v!sd4cX3!6Sw*xZc;h
z17obb^<$c@?piPt8)Yse==(`^(-(`GE`ok$dDw^p^SY&y_sWs$@MQqJ{jY*u@b
zXf)-VpY7DO2ih<1irm^SkUXmReRCA=*t>(*>o`_VCsnJuGNBhWBKRv}ieFbVGKq_>
z%>8ZX%K{pc(D5qS)>zIDjXHk<-BZbJ9r3PSOwBm-0`~^=ZGsl
z-c2q^AF3ZTy5Qls(g4^^)54qkWRoIiPSt1@#_g0@ZVnRwmV>~EDu^F#(Nhw*zdI9S
z^6>qmv}X2-dcX!o@2VXi3ZCpbtk&HE(3HfHH;}k<~4t_B6Zb?clo2F&y58KV-VVwi#HmlWI*~HDO+-J(&e0P3S7=>Q?lP_J%0#Mt>_GUE
z?aa|5lMgzDHPk+FoB8y6@U=tVV^Nd|?xl#zCjKC?M$;D}i~e|{92O2(q)vJ6`0Tpo
z`F>E((NZjFEhyxUcAudlK2qMq*Nhd1MBwwYm^;btFUileT;b2O!C8%+u|jBFloG$ac9^zC_<9;Rsv
z_Epz%G(=u*7V}Cs9|;7SgaX$0l~g)jDSBd)DL~Q80{xqu{#wBEZmgsC+l$)7tfyiG
z(I3A=r~~wC3>4C}rN1&tJwL9#sioQ_UAIQ<_krZQ(kBcH)TFejt1SU-s3u3GQtWwa
z)@RkYzjf%maHpOPG6_w#bMwEPl?DoUL3J-zj+(
z*Nbmw+;N9!rsRE6X;EXDkr4L>7$xM*r>3ix@mX1oLtbvm^MIPn^j0_(GrxRKe7~#I
z!OLNLrP-%Cd&9vO&MtCgJUxjKFW@Pa|5l5Sr@lKB_yd7Sf*k20U3y
zzk|9!v+;a(ED4WjiBxDT6xqG*6i&95G~Hrg!u=6b{W4t$-^P>gr3bv`^z%
zq&9WOGs+CK9Q5T@k|OxCqrSD*JrU`r64SkP+#V`j*{1yIMX$DzWK3M2tsl@A07=5r
zT(#B35WMXtpf+i4STAjJGIDXOu2*y1552dAvJ8`XmfrHgOH#!O96xl+GB9A;Ta7YddoLX#7^->Rl4LOFQ5IAcPQ-tPO!(?HtjT`f>6;CEf-KbsDqmsM!
zP&v1DK*Zf`rks%IU`g|OyUS2a0SXGhQU$CRkVE`}(Y|8A(#1%`8BAXhc@$`NcpP%a+oSGwc8U79F1a3r?(P)FDefF^<3IAJSQ`6h8@)oYHkZ^
zhm2Es}~JvUSrX{^nkRhiox?dei24j4$FGj=w4k?T~n;fK7YCQC@2e=(
zf?2WZz1Q*CqM*O-==N*Bp<_d@9I~x?lF-N%DHbXSua6fCm_6k^FkS0DL`mW4R(>L&
zn+Fe-D}0Z+AG`t(dBD^Hg~E*^+moWuY8$sVxEIN`QMYDP{24Sx5JWmN=(@rH5Ilt4
z3$_FX?UXf`Cu)l?BE*rW-AqZ@@`1ziEICD{L)5~m9&XBXsAHWr1J=Z(bI
zA6#`g28uKDTLzE|;AkJ<>Ul0}Iu|YvYo1hdn0+R?Rmp?9J5tsD``3?H04BW0Q*#M^
zu49DwJ_=z?OhL(UG`e_nY7?)oUJH}$JQiIB{I>&+G)u#x-659PUMu7hhwlDW^yBPE
z6-Z80-RKyKvE*)G1z_y1a?}B;L1X0;zjJM(zFWT2xJE~cEL3t%$^yw-wacNl%paQ%TLY7*&Tib?MRnF%0v
z-)@5?Q@sOCnhQX!7d8Ga>hkLG^Wv%_5zSiIp9hDUw~QWBskM9_ZgQH3%01b%n|$ZJ
z*Sj^_5-Zzg&c^H6U5;hhFJn#+!Z38eXOob7bXo%%w6(E-L+;_>ib{19_0~1YtbD`I
zJ9@GG08BsLCbyH6zYkQNCN>6|s+WiAFb1Y%aJ}Qw4n87c{^G8#jg^IwP~E-`(JY
z$=KujE?1i~pZ`8^+E?||>7zpPe_bo^t?&0rO>Ufn9jdu5pEsZJsXrFrt{NFY&|-@6
z8;4K}m+PZXLZtD%f=rns7
zujgh%a8BY(`>eoSo`~8SZ!U?cM2V8=8@LrUt9fy`IWdFk&MI5SbYD1|fc)+2tuMnf
z)sLsBZy)o!8K|$wYy#4}YiA6=wA#(YZxx
z_A3o2aJ391Yh;r;{bX`u1Mi9}E8IK*AqMbQ&g4#V%;dvAx8xP=bmbL=?Q_64CTo6Z
z*g05ea(Q@XVlIa1O74!A%X{TiJKCT@rn{I!&A`him=Wu2dO>?xRloInraP+AQ9KUf
zcxb%5+V7GkwmSMo=S)h9usrEu0lH+bz8qaoc>vNp0P`J-ypyfSt2feP0ny&VYkkRL
zbtfs>ja`9|!hGzF<*8KF4lDX_Vh0c@Ab!?z3N*C0+V$B!1o(P-vZ?k|&18Y>!gfaI
znQEvSZ>@W&+TiT^<)NF-3
zt$+!2ZqUaq^H3Id`j}S2uWNqdyXS4%F}r`Qnu)A0yu(QLqp;D>nEP_*DXV?Zh;v$L
z&`Lx23S~(X;Nu#NXkNv?M8@ZHF!iZ`I^?8p(p$Z~82#%ZS`u1Uj<(b50yl&>#1m-7
zC;j{at=K^3A%3d53NEdjPi|I((h$o&aYpn>U?DO=aPf)dtxxYQ-+exy2^Y8Z-Jq^!
z%{DAYlj>f0o273+rr#y!>!nlXRbbSBDdFVtW784uxm0`jog9)YXS>%QoR4X)K;o+{
zede>4Cl+&(n+gcO$Ha84ELWGWvI{7Rj6XM$t)TT~&sv%r=!!^PpDZba*`l6fSvm&(
z5>RHiqWX>JQV;sW8mqXxcg+LJf8m|TXFX0jh=<1`U^&?92nzU%(H#NX-&s+*m(JjF
z3;_9$=LUi~Gd6jP!$98BvZwI^hSkdQ{Y3%OsnkJyJJafIcG6%eJS$&G<~{F;l1As9
z4Agkz`jo9qs}WQluCXr7>>yfhA-!(a@477xaf^3F#D6Fp{qwR4LG*Ux+P7_#?HlxE
z5aHNj!R~ycisYnlBcd@1R3s(lu3J@&>UTbUsef
zIan-U$~7Jo&910f$fGel43GFXqj#bn-j4^xA6(rH0|*sTJ5Ip80OB+9NX&7JSBkyD
z1Dvzt(`Pq>xq4m)PPaI1a0&9HO0f871ZC{+-NK20og(F*48iI}N)&guSMM@Onb
zT9JJOUdahzJp+U)wZeW7VmJCmk6I<4rROLFALcuqXH4u>CWU}tE%5GQB1KT|IY=qM
zb&fC^8bDj%@`5^_XUZ5&);UJJO!F&OM{|nku~*dt{zUZ_>$aE%Y}mo0DWNW^`@r9G
zVch<4hA77)fZe4Nz2%2-m~jYzyBv*;PY|Q;a*P&7wo96?+^L
zYBiLJtOvMp*P}wurI)See65{^DW&dc0=Nui?1&&PZN!318uJ?xN^emgR$uZ
z4N&S78g+y?+{-Gr#uPKq^}#3>6kpfA6C^v0GTiBb^Wad<6J4%BWF)TypDm8cGw~J
z*(o9_=wQnQ4uS6Ieo_GiXVJupnsUoky+9&S5=}a#YWS
z9#HPHVmasy8wD3+HlIjJ-60^buGC5@aE4f23P$8A9`xI1<;#*{AUST}I}u#^X1snj
zSm~X;s^6^1u5+~Z^IA3$7bNM3AjDn20k}&(jf&lXxjZ@WNFpR<2@v?*I_R*bzO+
z*5;xW0`BquoCn_)AOVVJQW^
zmRi3Cl9g1U)vC&R_24)*J<8Cy3Mw(Akgereaoid9l2|
z(i924YrrH+RU|J8%(N~k&&v-j>>Yh?T3_1<==aW$oM<)Hyb3jSUvzGF5_
zbNnT^M0^qA6&Fz>#;)lQLFD`sH9|Rgv}G&_I&h+3I&G{-<*{)sFn~suNCORvBYounmYO_W)^3`H2g7k{wD
zsi}vv7RIWP5aydp2E6JT>>A9dIE9_2I*2H<%jGWA+a76f!#H3ZsdgfIp=V7m&7A)D
zR53WrZ)q4!-X16Exczc2B}xm63UIxk79&&J=wCnMwUodmrQQFVHolUFp8l-=B7Q{n6UW*CO;B!T
zs<7y!Vw`O4X90>Ib`PyOFUFVl4ES)*ZJBrg{{Xb8lYB4o!P(lZThoz?=Bs|qP!sQO
zaSwZ|fYIJ=jlSd$|KOWVw3hN7x%l}X{=X><=zi?1ihq-!I|BC-z~wX8yqv@za)!MG
zsDSY3r1jbL2lfgo$kuP%Y?d|F-#OlHDuj)K`*CP-q-iMd?QnZLPyM^aFXm*Zcv*SC
zZMLsuSHY=s)y|4OPt}T2Ao$k)>VK7XT|rT8+x95u97HZ47=T7W5kWvCNsxFzlBAX(
zAgLuM$w88h$U#7|1VM5VL83&-0!@(6dT0L^VnZg107aD75CZDM5E}fnb$W+JO~V5i(QPon6P|2w0(9DrFT*-68G00qcsgjc8nif7(^eCo=RvfW6+D|4HkRO}IKp_uhJ`8CyBv*W8_jM+qa
zNP@7SdT>eKAVv)uO-%!2)Rb2S2=!9xA%F#;LIGQhxMvVo22iJ>w!a;8sE*Zf%V7;w)LI05X
z;WCgnKSZ7Jhy`l7Y3eb6=B=UUc?11*N39qb2(=Zgq-6sbuM}9|xPgknSjA62w@9OJ
zGmH)DN~HO?sb*q&w6sx?Vu|33NT5|Cxx)pla%fx^MwN*A`k%OdE#h)*RRNlO{9Z%Z
z;lz)QhAS(Oo%zz&RY?bRCNUmElY&d7<~-u~m>^*;vlLmazNu4tgk~-3S*L7Vlv@cR
z?cZ@AXYpLVmu&{ZUjQ7q9h$`Cn#%|Cm1s~k+)07FYr!Yg87=8}kfF7Pe9RDlPCcQu
z1=72%n1KEq7Nzi6#1GY`fDw?co+l-od29l>Ed1}i;WnA>hgJ+4uVQg*Iy&$qI|CJj
z$h-E14a3muYK=`LAOd83CmG&r5j0PokgPJ+hzq1*as&9Q?O_TXbiYf0EM-{i=Btw%
zSJgqQS7n5*p_GJYj6UwS0LqItldYxQe3{K&r*t{|AYKd4YZR{#H$k)uN;%L}%9*4|
zR-)~Gq={;zJrZ9FgK*uY%$;x9-;`fd-25)!4PGO5#`81P>N`KTZkd=aT|Wd^N%tNb
zYoq>+13;RA>kOS&OS_N#s5UtHaFF?uIVrkA{M>4k&aUIg#H@uivv&Elhr?s5;ehJwe_!q>
zeHdvk*(>ZsM=ms-fm|bbp9j)d$3{AiqwulJtX|?!!8C~p+_wIm;Gk~#W#@Hs6qQh>
z2NkKW|NClPSb+|MxdkY#&1U}ecApBA9c+4@bp<=4GQ%{=qVmiqrNokfm
z*3jTm!6yOXkA)o^LT?(%gy>6h{{;BI=}-Qq>&zU{amc4>tlU`{ul*Ac1P}>`y*nRB
z7kO*j1Re{&O&|K~m=-7qgy;0}Tf%k@UDnd3AV_(h{0t#*r}+ZAuRmhSBPN8A
z(OOv#xCZBMHD#q2tbA+B%ZXe^XL;;hNT@m}A?*hJ&Spl_>b12m!3FE&^+<;u(ZRPK
z#o6`a_dJD7v;hy5vH{U>Wmdb0OKD;Uf7s(}Zxm}dxz8?VSCo4VL4#q$7@2Yv>`a3A
z!{+*Q_KxapOCfcbBi<;Mky_`RjtNi%XMDMafab0|gcDHR8@_8}W>ccrPp{=B=?NP|1-s1dBR5z4|AK+@^c{c`oG%d
zrKR;YJpip4?N}|INvdeS4xW(bL3_&zPF*`CWyl&lxT47-joTB!Q^6n*=|O-z4Jj6J
z(nmr;!H$2^Al(D|F!Cyc-TFp%;`7iM5o$seg8HB%8$pX**ohwgODRKOyULO;O*O^2
zi)?6eVCLov9fqqt5E-t_!
zFfxC{fU#bj8t71Pr#9s1}>bkda=<^(JbS7Y>^Hk%B5o
zbVhy`bUw=W2EG@$(bs31B(maS7Po#*(SW{Jw;+Y#@Kd3n3WChvI;v{8DDM&wD4|&BJIMEm5bfi;cQtxpIEDcU&_l
z&jNphuH-AWcAtS;GVx>zcP=+!PL(}gnDr>1TL37r*4O(%sk<@L|F?p0W=l9FlAZ~a
z4kfhu=)mC~c8N>sQiWw
z*)fz|qNw;4N@7r*l`uzY16Y_W!Tw$q-;Yc5?&XOdJVkC&upcjpFBggr@tDiRQS{;D
zA3=CITf2;ZbRd>X`opzHt<*(x-Q}kE%(h`h8*i{=NYyf*FXSi!BU{o@nvYSzf3LKI
z%bA7Y+GJ^l<{kR{QI6v;Bnhl|bNG3BRctJc^sIC%ALvG3HaqDRkZgTR{S=ldg0PA3RLxk@oY
zb`@V=^bk@10=EKgc6bk_#-|Uw`GD0C_08Y*KAJg>
z!yr8tb}!v($sK=FwvXpb{~}G;r?MQ2U5;Xgeaw)D^IQM)af+7HLCyB$;w*47a$4CP(?FXNK|T9x+3+&>ouSpojr4Fl~LKoOhG+hcJV>Qs`eymk-QuQZKSv^OZ!q
z*XiS(rY3asONt$)E$=7r$6{VDXN#d`c?GPL-9gp#SvKf{oRVWTc$X0Lt&*yz3nq2k
z4=0X#qb|ofE%`I`C_ZG#1LKzoM-$_2f@PvW!CA+vWd=?atL*t>>f<$^qB}~q^y@{J
z8gB@^a59B&gqlN&L}voR%5z4$@(MNz0t#4@U}XkIF|nM=h@Wjw>Z-&D&BZf^_DWp|
zjJC#h%nGfMG-`b@n?y6AZ9{Z_w>tFCb9wAX-g%=+V>P9b2--TRAr_-8ZA!9ayeUP_
zk}q|2IvIQ!nJI7=I)wp=yclCVs*|_q5Zd=m=)(;&6?)n_*jgK(6u-XbeDO?e`EBaR
zHzwW5&xh^U!JbUa?HiDk6?y-d8nZHc!uPC5+*X|^MgrS2cV!z{(Eb0FBI5OR0=!J@
zl#F&yoa)-}gW8`MYI^MvdJwTaT@ydZ4q%4aqcrX1S!E^LMh?
zT`>z!m%fp5R
z_uDQ;NX}+3t`7heVE*3k&wzRj(l5?%_DHQg<$66aq@r0Aw>vCR5GNp_LeSsZn=
zMyv18>$PZ>w97PA6-!ZBmcx<`zX7a*#v{sS)ojP!u`Pfw#P@*A@CB|0mq2d2c5*YO
zsg!f#6h27U7{Z=jU$ng
zG&`~ZB>{M1O69vbXJiS~C--Kw0=sB}{&enR$Oh3WhDnI&cb5I+D+LK!YI^0hJcJgX4YD-PTWrDHuqb|a!B6Qx#noVcLS4K^<{?X_vD&rJTpdlJ4?CbPfCLk89zZEg)UJW4t0sF^2=5&`
zaNgQ$pmy6wy+h{I*>A}L`E(ZuY(PG*ZCY9SSygph5Hg&!xh*@j&CPwzW#2Q^)AU6u
zXZCVOwpXNrg8IWGMI8#OiGin(6hcM#>!bUC^tCZ>zGTG9#D!j5@lG1*j{*zW?VM@H
zVT8Siu$`+}&01bcyXRA97v(z22Np1EgA0=J8TlVbI?VZh6L)=EdsNtA;oPCVoH-cr8MF&(
ziXO@Bi^uqw>j^t09)+B9&s{vO85nA}bj%;=PhuC3oksQJW!z7FB$nsBvhcY+{kx~Q
zt>0z%3N+d~PRAljp_v4p2)r-$GgA}|Pq0k;8S$mk^}>0bDb2C!G(*-Kzj?L&rWdXG
ze8T%Hb{=3}fFJ>fq&->-nTp?^i;Usk`|>JkMg-z}1*L1u6bUvLsCF<^QQJjj<;JN!IO
z{{gws>*zYMNTcQ*Wejha2}hWtxTAqa(uMZLTI1!dPH^8*G@BD{*$%}8;TWbaPSNE@
zn+26??g&zj#VY7v(jlOVKZeNy=sL%HjgoVWW=soQe3cr(SeP^aaoPAJlhxes;Rvxj
zi5}L?IMwEz9^drnx4Tq#TY1B5t`1igxFz^_=lGv;*KbM~-hcVSCy
zF_5*JF%@{lp2Fq1%tn{VK1uGU9r>avn2vTOPpsaZ9xkAI@FbF@h2z_YY*9CvjtuOY
zcQLpHhjWXOJ8Y!d!g-BMB9-$QVTDvj51ICCya{SQ3&Xj0)JnWs0&$zw{tah)vT0va
zHDd#iZA{Ls1qabSPZswYzV0}Z4l{)phD&4$f7^&J{vh%HdMyEwH~k;>^+d~rfAdEt
z^1c6c#D5se6G_?s^|k~e`T3U}^?w{eq{aW+5x-6#Ui4pA`CpIt^_BlRg6Pfge|~Gj
zU&sx}3Kfm$u@bPo;@Nx0n
y*W?ux;epS6P97c+9-jO1ZR!8*1Y3JkD|3(k`2+=o10$U9+e2AZnF8sjul@;lL+hmg
literal 0
HcmV?d00001
diff --git a/docs/static/img/lua.svg b/docs/static/img/lua.svg
new file mode 100644
index 0000000..6788797
--- /dev/null
+++ b/docs/static/img/lua.svg
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/static/img/react.png b/docs/static/img/react.png
new file mode 100644
index 0000000000000000000000000000000000000000..6126e20158bb06d5e591b8c42493c7bdef922348
GIT binary patch
literal 84125
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