From a69b70e7454e67185c30ad1cb4ce34d296246f5e Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sat, 25 Aug 2018 13:03:34 -0400 Subject: [PATCH] initial commit --- .gitignore | 10 ++++ .travis.yml | 11 ++++ README.md | 93 ++++++++++++++++++++++++++++++++ app/client.js | 7 +++ app/server.js | 19 +++++++ app/service-worker.js | 82 ++++++++++++++++++++++++++++ app/template.html | 33 ++++++++++++ appveyor.yml | 18 +++++++ assets/favicon.png | Bin 0 -> 721 bytes assets/global.css | 36 +++++++++++++ assets/great-success.png | Bin 0 -> 81921 bytes assets/manifest.json | 20 +++++++ assets/svelte-logo-192.png | Bin 0 -> 3996 bytes assets/svelte-logo-512.png | Bin 0 -> 2054 bytes components/Nav.html | 56 +++++++++++++++++++ cypress.json | 4 ++ cypress/fixtures/example.json | 5 ++ cypress/integration/spec.js | 19 +++++++ cypress/plugins/index.js | 17 ++++++ cypress/support/commands.js | 25 +++++++++ cypress/support/index.js | 20 +++++++ package.json | 31 +++++++++++ rollup/client.config.js | 34 ++++++++++++ rollup/server.config.js | 32 +++++++++++ rollup/service-worker.config.js | 28 ++++++++++ routes/_error.html | 29 ++++++++++ routes/_layout.html | 24 +++++++++ routes/about.html | 7 +++ routes/blog/[slug].html | 62 +++++++++++++++++++++ routes/blog/[slug].json.js | 28 ++++++++++ routes/blog/_posts.js | 92 +++++++++++++++++++++++++++++++ routes/blog/index.html | 32 +++++++++++ routes/blog/index.json.js | 16 ++++++ routes/index.html | 46 ++++++++++++++++ 34 files changed, 936 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 README.md create mode 100644 app/client.js create mode 100644 app/server.js create mode 100644 app/service-worker.js create mode 100644 app/template.html create mode 100644 appveyor.yml create mode 100644 assets/favicon.png create mode 100644 assets/global.css create mode 100644 assets/great-success.png create mode 100644 assets/manifest.json create mode 100644 assets/svelte-logo-192.png create mode 100644 assets/svelte-logo-512.png create mode 100644 components/Nav.html create mode 100644 cypress.json create mode 100644 cypress/fixtures/example.json create mode 100644 cypress/integration/spec.js create mode 100644 cypress/plugins/index.js create mode 100644 cypress/support/commands.js create mode 100644 cypress/support/index.js create mode 100644 package.json create mode 100644 rollup/client.config.js create mode 100644 rollup/server.config.js create mode 100644 rollup/service-worker.config.js create mode 100644 routes/_error.html create mode 100644 routes/_layout.html create mode 100644 routes/about.html create mode 100644 routes/blog/[slug].html create mode 100644 routes/blog/[slug].json.js create mode 100644 routes/blog/_posts.js create mode 100644 routes/blog/index.html create mode 100644 routes/blog/index.json.js create mode 100644 routes/index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..33cade9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.DS_Store +node_modules +/.sapper/ +yarn.lock +yarn-error.log +/cypress/screenshots/ +/templates/.* +/export/ +/build/ +/app/manifest/ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..8ad1fc3 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +sudo: false +language: node_js +node_js: + - "stable" +env: + global: + - BUILD_TIMEOUT=10000 +install: + - npm install + - npm install cypress + diff --git a/README.md b/README.md new file mode 100644 index 0000000..4897f79 --- /dev/null +++ b/README.md @@ -0,0 +1,93 @@ +# sapper-template-rollup + +**EXPERIMENTAL!** See the [related PR](https://github.com/sveltejs/sapper/pull/379) for more information. You will need to install Sapper from that branch (or clone and link it) to use this template. + +Original README follows: + +--- + +# sapper-template + +The default [Sapper](https://github.com/sveltejs/sapper) template. To clone it and get started: + +```bash +npx degit sveltejs/sapper-template my-app +cd my-app +npm install # or yarn! +npm run dev +``` + +Open up [localhost:3000](http://localhost:3000) and start clicking around. + +Consult [sapper.svelte.technology](https://sapper.svelte.technology) for help getting started. + + +## Structure + +Sapper expects to find three directories in the root of your project — `app`, `assets` and `routes`. + + +### app + +The [app](app) directory contains the entry points for your app — `client.js`, `server.js` and (optionally) a `service-worker.js` — along with a `template.html` file. + + +### assets + +The [assets](assets) directory contains any static assets that should be available. These are served using [sirv](https://github.com/lukeed/sirv). + +In your [service-worker.js](app/service-worker.js) file, you can import these as `assets` from the generated manifest... + +```js +import { assets } from './manifest/service-worker.js'; +``` + +...so that you can cache them (though you can choose not to, for example if you don't want to cache very large files). + + +### routes + +This is the heart of your Sapper app. There are two kinds of routes — *pages*, and *server routes*. + +**Pages** are Svelte components written in `.html` files. When a user first visits the application, they will be served a server-rendered version of the route in question, plus some JavaScript that 'hydrates' the page and initialises a client-side router. From that point forward, navigating to other pages is handled entirely on the client for a fast, app-like feel. (Sapper will preload and cache the code for these subsequent pages, so that navigation is instantaneous.) + +**Server routes** are modules written in `.js` files, that export functions corresponding to HTTP methods. Each function receives Express `request` and `response` objects as arguments, plus a `next` function. This is useful for creating a JSON API, for example. + +There are three simple rules for naming the files that define your routes: + +* A file called `routes/about.html` corresponds to the `/about` route. A file called `routes/blog/[slug].html` corresponds to the `/blog/:slug` route, in which case `params.slug` is available to the route +* The file `routes/index.html` (or `routes/index.js`) corresponds to the root of your app. `routes/about/index.html` is treated the same as `routes/about.html`. +* Files and directories with a leading underscore do *not* create routes. This allows you to colocate helper modules and components with the routes that depend on them — for example you could have a file called `routes/_helpers/datetime.js` and it would *not* create a `/_helpers/datetime` route + + +## Webpack config + +Sapper uses webpack to provide code-splitting, dynamic imports and hot module reloading, as well as compiling your Svelte components. As long as you don't do anything daft, you can edit the configuration files to add whatever loaders and plugins you'd like. + + +## Production mode and deployment + +To start a production version of your app, run `npm run build && npm start`. This will disable hot module replacement, and activate the appropriate webpack plugins. + +You can deploy your application to any environment that supports Node 8 or above. As an example, to deploy to [Now](https://zeit.co/now), run these commands: + +```bash +npm install -g now +now +``` + + +## Using external components + +When using Svelte components installed from npm, such as [@sveltejs/svelte-virtual-list](https://github.com/sveltejs/svelte-virtual-list), Svelte needs the original component source (rather than any precompiled JavaScript that ships with the component). This allows the component to be rendered server-side, and also keeps your client-side app smaller. + +Because of that, it's essential that webpack doesn't treat the package as an *external dependency*. You can either modify the `externals` option in [webpack/server.config.js](webpack/server.config.js), or simply install the package to `devDependencies` rather than `dependencies`, which will cause it to get bundled (and therefore compiled) with your app: + +```bash +yarn add -D @sveltejs/svelte-virtual-list +``` + + +## Bugs and feedback + +Sapper is in early development, and may have the odd rough edge here and there. Please be vocal over on the [Sapper issue tracker](https://github.com/sveltejs/sapper/issues). diff --git a/app/client.js b/app/client.js new file mode 100644 index 0000000..b83ce1a --- /dev/null +++ b/app/client.js @@ -0,0 +1,7 @@ +import { init } from 'sapper/runtime.js'; +import { manifest } from './manifest/client.js'; + +init({ + target: document.querySelector('#sapper'), + manifest +}); \ No newline at end of file diff --git a/app/server.js b/app/server.js new file mode 100644 index 0000000..76cf0a0 --- /dev/null +++ b/app/server.js @@ -0,0 +1,19 @@ +import sirv from 'sirv'; +import polka from 'polka'; +import sapper from 'sapper'; +import compression from 'compression'; +import { manifest } from './manifest/server.js'; + +const { PORT, NODE_ENV } = process.env; +const dev = NODE_ENV === 'development'; + +polka() // You can also use Express + .use( + compression({ threshold: 0 }), + sirv('assets', { dev }), + sapper({ manifest }) + ) + .listen(PORT) + .catch(err => { + console.log('error', err); + }) diff --git a/app/service-worker.js b/app/service-worker.js new file mode 100644 index 0000000..c102c12 --- /dev/null +++ b/app/service-worker.js @@ -0,0 +1,82 @@ +import { timestamp, assets, shell, routes } from './manifest/service-worker.js'; + +const ASSETS = `cache${timestamp}`; + +// `shell` is an array of all the files generated by webpack, +// `assets` is an array of everything in the `assets` directory +const to_cache = shell.concat(assets); +const cached = new Set(to_cache); + +self.addEventListener('install', event => { + event.waitUntil( + caches + .open(ASSETS) + .then(cache => cache.addAll(to_cache)) + .then(() => { + self.skipWaiting(); + }) + ); +}); + +self.addEventListener('activate', event => { + event.waitUntil( + caches.keys().then(async keys => { + // delete old caches + for (const key of keys) { + if (key !== ASSETS) await caches.delete(key); + } + + self.clients.claim(); + }) + ); +}); + +self.addEventListener('fetch', event => { + if (event.request.method !== 'GET') return; + + const url = new URL(event.request.url); + + // don't try to handle e.g. data: URIs + if (!url.protocol.startsWith('http')) return; + + // ignore dev server requests + if (url.hostname === self.location.hostname && url.port !== self.location.port) return; + + // always serve assets and webpack-generated files from cache + if (url.host === self.location.host && cached.has(url.pathname)) { + event.respondWith(caches.match(event.request)); + return; + } + + // for pages, you might want to serve a shell `index.html` file, + // which Sapper has generated for you. It's not right for every + // app, but if it's right for yours then uncomment this section + /* + if (url.origin === self.origin && routes.find(route => route.pattern.test(url.pathname))) { + event.respondWith(caches.match('/index.html')); + return; + } + */ + + if (event.request.cache === 'only-if-cached') return; + + // for everything else, try the network first, falling back to + // cache if the user is offline. (If the pages never change, you + // might prefer a cache-first approach to a network-first one.) + event.respondWith( + caches + .open(`offline${timestamp}`) + .then(async cache => { + try { + const response = await fetch(event.request); + cache.put(event.request, response.clone()); + return response; + } catch(err) { + const response = await cache.match(event.request); + if (response) return response; + + throw err; + } + }) + ); +}); diff --git a/app/template.html b/app/template.html new file mode 100644 index 0000000..54906f7 --- /dev/null +++ b/app/template.html @@ -0,0 +1,33 @@ + + + + + + + + %sapper.base% + + + + + + + %sapper.styles% + + + %sapper.head% + + + +
%sapper.html%
+ + + %sapper.scripts% + + diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..e75da3b --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,18 @@ +version: "{build}" + +shallow_clone: true + +init: + - git config --global core.autocrlf false + +build: off + +environment: + matrix: + # node.js + - nodejs_version: stable + +install: + - ps: Install-Product node $env:nodejs_version + - npm install cypress + - npm install diff --git a/assets/favicon.png b/assets/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..9378861968771a49b2da2de6483cb1e4b418123c GIT binary patch literal 721 zcmV;?0xtcDP)C0000&P)t-s|NsB0 zA0w(CBdQ-Gsvjf&|Np8VBd;$i=Dx48J~7&&j`{EEw@f!0VpiCS;(f=v|L zey_i%b{k#*{S}CE&jA)-0Ty5Z79i$aKI{HNfLKz)m$E+qa7V+}yBrWL06l;?08M~9 zp$dorssI(c z1NIIO3>{E9KoL41b%4wV*bX4tfCX59$OrfiP(}Gel=y%aYw)`YX|@lQyV6=NIEmhvy}*u0}yc~;9oVvJ2k5(#$b5>k?b*6i2xBZ zu0*2(M4ZJ#l?xcp6)YPd6@88k5Ra~%4lu0)BrafFgun+#=md@r@Ess?0pl9%d_e91 zg%6Mp;I#qvKLjkm0%UE#t_?Vqzl0gOdx2?C-3`r&KH&mtKwn}4+&HvAy#^5TC+(%! zhOr=*06dcvKtkjY6vCXaCMO@3hAr z*ZqR;wg3yT01L1H>X%;Cul;IYd{)2ut$+Dl{rdkeB%OYWBu^nN00000NkvXXu0mjf DH{C5& literal 0 HcmV?d00001 diff --git a/assets/global.css b/assets/global.css new file mode 100644 index 0000000..3566e73 --- /dev/null +++ b/assets/global.css @@ -0,0 +1,36 @@ +body { + margin: 0; + font-family: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + font-size: 14px; + line-height: 1.5; + color: #333; +} + +h1, h2, h3, h4, h5, h6 { + margin: 0 0 0.5em 0; + font-weight: 400; + line-height: 1.2; +} + +h1 { + font-size: 2em; +} + +a { + color: inherit; +} + +code { + font-family: menlo, inconsolata, monospace; + font-size: calc(1em - 2px); + color: #555; + background-color: #f0f0f0; + padding: 0.2em 0.4em; + border-radius: 2px; +} + +@media (min-width: 400px) { + body { + font-size: 16px; + } +} \ No newline at end of file diff --git a/assets/great-success.png b/assets/great-success.png new file mode 100644 index 0000000000000000000000000000000000000000..c38720c34c1eda520f0d77fa4e4faa26e35b54d0 GIT binary patch literal 81921 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℞l)kuUgdlWUl+YT#& z@^6`{>j!#~fVO`cLisXeET!z(PuUn*bur>Gkh<(ki4CKeQ9Q6xToJ`>N@*;uw5*%I zUqRNnOr~nx5hS90Y9m$h1O=9atDRK&$Ji5_Ozozs^&trv%6s!8hh;|Qo`bl!Y}930 zO4LkahN*+4%4pu?s41r<_n9jWAnO4Az8>b<~WStss8Ng^yC@ zf1y274==qo*~XsaAx;IrK^JLtur%_(mTffUe*A_*3bM(eYO36$eMo@s zp`+9kl);*yJmjaUacVmfaPU~hA7g4;{ika7$c=byVa6)hGGR_x`dxiUKrXCJbW^h` z;>}6hy^q^ys&T;$`@P5>U!tb^!vxQ`Qul%vLIic!P;<#aB%ovsHGkZdk;{k2KCrQ8 zg^1TYX0~xlHVvvrsIo;iW}uCTU==lsU}-M7QaW<$ZklWSH_2~h57 zpr-XZ5F+vYM5gNKLq5cB&v^HAu*jr=oStP_q!p9IEERT8?8O0N9`Tc?He2uK!Do51G&P1!@|9 z=0p6H)t{s8zY2tieD6`yaF2qx`4+ZP<$g&)Mv?YDQq3rhMcmdftBhMR#KBBeiHHU> zU=1ReSC3B0&W$4v(46hJlkV~%)7|5y=Fvnxrr`UkgPN9!5PC4Mm8#aCv?Ffbdn%~% z>t9hOQ1%S?pq0@YhPW-FkSS&$qOt~dt3ouqJMYPNT1P~&7a7g-SL%Ly5DD1-MVXqf zbwKFB&Xv@BZnc8AJ^UOsYif`=d_^ap!{|*z+-6b86w46V3U(_;bd>fFZ?lYuGrpAB ztB9vtsPT{3gZL?zHBfghgr0b>qQ>!6AL4fCd1~Ch_8>zjJMSIa$WSsZWx$EG;ty{P5y?Jka&2|Y{rtKqY8ZJ{1ueP7HP$NHiKQe)I z_3dtkDjai*2LL8kPHSM8RfykY3K?Q9daz0_sbkQQ^JF#6`9J?)y@U+pT1VZbkNFTk z@5~D7{y%$n0@y^g^#S~_4eJ3)3&Yw#D7H{EPzso^L#bu0Wl`vGE$RduTYI6AB8Vtj zM5R{15Ckj;5-`n@+)-&h+ z?>*-;3hwdo8|EB3G;8taJKp*3`9}9#H|X`IU)-_xuD0j8E_i%=y?HSP4wTM3`S|$T zKc925$Nt3!_8e?oCpvQD1{DYHY}ccmFwg-0qRR%L)8Ot5C?7xPApt88MjXtdV0S}8 z^;bbSwZVUdi5tO#z9?!0zM599v%cI<)Ubw2;#&GAQnT>fnD3p3~U9DFL5l}?ihI{sRF;&7uIPHI4z%v)#e zsXO$ZPU~BpFcKofO^?gX&DI9LERx$woK9s16gc4*kVl$4VTcbO^J#GgSs(zX=* zrW$8N2l9FpC>~w7Pr&j>MCY9*a1lAC+M}49TI0XML^61ggrb4qGjpw{PoaCH-Dkse z5MER-qtn#W98|-cCg_475_BMfQDB8KNbuT-_WoWQ44^Pf(kpEqnpw;etP)|fmz41*pZD+hodPdTUM8BEH7f!GBZ>%b^^NS3)L_f{}mnv zgLf%)H26hx`u)}D9+~??iVngC_bWP(LHSS}g_p6$#BJW5M?n#oU42)LDE7M+u9C5!o-TX=&+^^2i0+L0@fVi!Mi8(paAB2y|q{^1ReA{OyD=}%faY$>T@0xj9)we z%Q^M^P7_q2gBtB>K{ecj{|Xb}RZ2Yo{AXJB>HMln#OhVEG!PD$e+b$M-^D|9@Z+^u zlX73!uA(4!SsmwM4Z2(i{>$quxaQQyC@2Ckq^c4zz0GM8DBrP}=uonlLUpKC30R}Z`m;G8Z(M%21guFDE`tB)>BH!h ze%=I%mH#e_PNew5NE2Mk0F-&1FQQGl5_|N=CHafLkK|!HZL)7RZ?u{4<*K{39bWk0! z_^C$E3CpSIY`O@=W-#62UE_M%zp&(a=8xpXFk;jst z8u;!J==6IOD3amMb?Ab9HVu2wRFROg@Z9@51U#EsGu*)3-JG=$7`+_kaJlhsSr{zH?W+Mq@VU zOuUWBWGG|Sn72;4KwR6j=Q8Ab5%UCAL@8 zj)!GHahRB9-)}<~8yurE$3$-V@!m_noO^Ihx=}z6h@emCIbiQ~|84nW-&v(u8jZnP6c~6h9`(c~P-B>=+b>kvMQm=SqM$sMi9TI<;TS_kYL8cj^uL@u zKV2Z6D?@f%N%GGv9{u6`mmBj{29t^7yq)pD()?gV zhs?7)Cxla7)5QNdRifdzrl^WmQ{t}wbP&+rr#J08;RgiQyc*` z$dvT(XaU_@(&&H+l!ji6K!>FpC{&H%4Ozz)ul%FosI?J#0k4g)xu>2PbIbEXhrIbs zWU9(w;yDUFp-H#u(P8cZ1ISSRRe}z2-3lpGh2t1&u`p;fS*5f3{@C)r*Xlh9^qZ=PY2eK~}6oSt>y=hb&!HU#F^1vG{P}CHvr$u;g zp_a-*mFiuGVWK;DG!6$rjnYNkzMe(*GTR@pfU;;V5wz34WB~UlW5`Q;?dYcq+Rn_> z6AwSnil?t@`^&pGZThNNTD--elPZJn=!zBs+L8a9WI%TKx>|Htvb>0bS2)gOGN|%5 zetG_fM_c@yToRYbH6fC4b_%YOV~H^Iu-2B{Rh zF%U)9LG=v5u%sT-uva}5cpRus19z~D1vsmf5d?7Y~O|sx$hTJ z@CoI3lR=dl`OTX{hCYAGm}gGqvIMV9&_}Et)$os%i;ra)cm}E#Jr|u`$N{GTe1Nd(qM2DGU4Incy zZP9`KzbFcRp&YL>SmM)~eYNSPcYkTSZhEm%Ko6yOX4?gy9(^q>&%jV{OY0#@P3492%n-JPL&G%SXbF+;m+z*m|^sC?tWv!1;m0GPto4;Zlu#@I%! zBQtnVfSnQOF#Ro@C z*<$kMJluPmfK@7S*=?gT5t& zhV?{;(KC3c8ItRlmfK!>^zAQ_=SF0+SS4db^3}WVT%oF5Bs5PGbeLb816ktp zmK_~5Siox#p3MWVjX^V%^@iTHdyJMTVJYI0!7R z_9Aq+JdA>jWHmsCh?QojNm4+eDVjIqiKjkoc+1jur?Lffi|E&U^w&>`r5X-g(f!+8 z_d=*-**l!?d*jgNxriX4r~)&)H4 z8wml!6@2x(99CySo3x90gg zC8IM`7o$c$5DX&ib%_uJgHXv@Lg;Zh^?x_wH4*jw_a^Q#P>>n!DPdk!( z`0YOXcWD?3p~FpEgm&A$G=V&rKSYPY!*vjBlrx!gmVI^8>+2E(bd`N!+#@lzFe3G5 zbXprtA=LQzWgY*shQ(`Qci;8d!Iue&2K1odlL?5ep!#k=Ico#KqC!Qx8RUYCIlGia zk4XBI$G^$ffh=TvNYJ6_E&#Cn>G}&nmh4@AsK~%Uh*<_|Q6k(M1F}G$%ywzMQXw=b zV=g?svdyTOYN1>h(O^%$2>`e!wCJF}Vt`Phd{*?2zszUxn#k^R_r8{7Ia`b({T~|e zO)}y{sJ>w+W7;SPmU^gY!$3Z`n0{ke^n(6KgM)H7Y@)Sd(LsG)2Vgj!j84;k8J}XN zvY41U0_~R0;y?~gE<%UH(>Mqn%4l}&@ALNIT!Icl&&}I46d-8?I*r*tLs%Wka)-yJ zd#nz3jXSVaLm}#Cw3)h$f^Rw@-T>9d#G!mOf}rVzik1p;!WFEXO3)j^wp(`8%HklT z%#Rav7&DIo|43T_CB~VXwVS)U%xI4uF1)|JhymG%x(_AfvK)5so1PNT z;rE3ULXVnL#{V)Mosy3m04BePPS?eRq&mc(zTIPWU{7`G_Kp3iA5A$&P&8#81s^rU z2~ZP;qVI&@RFd8hB(=t%vh@VHF`Z9G@97s^>YHZfAS9TTdUROS1GuOLdKBfp_f(Gz z4rGLHosN>h$8`{LizCos$(uTm1!_v#ve~)ITWI?T54wQ_9oAf=5M+GOp&$2o${pBk zqq@{fGH@U<|CEcO>>UR1)%AEC)P&Y3TZs@9@eNSvMuXhY$Pp+a1K!&$pl8DLkw-UX z@eq7@FQ5ZEG=t{fRE(nC@9Z>Cke6LeQ6h{hpb%n(qtNNqtsomr(f0Q**ux0pW04#T zi$w=^xhc2>tKiU2z1MiG4qb=TPBl<)pphS;P1`i^Sr_a8H6iVP{j)f}6)IjQkR5Xu zEs7Ez?lJy_*+%q?Bz)AeUhr==%~^vEvzt*%-N7g-zNrvohxsZUC2db~5L$*$2s&)5 z!-I@)89knQFBe7n22q@D6+wr)b_KCI#LU`si>K;f9Q<>a?S&=^t_+*9QKar;0-trn zT2LbfqfCv0U|>d}^0f!qq026yi0n<{Ei3vyeK;4rpkLSE;A9H~5xHE>Xg#{TN1_^1hdSFb75jBzMaaCU_KlJ4N zXw!HZl@5jv)!paSU@}rX;*%MvItYf-+tA^bLON>zT9I?pc#x$PXHfFuFa|>DwFGn! zZc>5#(5?3S2BY_z`Wew-KnesF)fLp*RMtBXycT`WrknN`8Ys9y=Nv|xhbDs`BD+D& zNJN?134u3Oi{YRT$dF-2I*PQPSU|$$&HJk1I<0qyP2ct1YNili%xwbNsXLnZ9l2=r z%oY>Kllce1vA044A(V9)okkzxK!&)JgQSM=>6{Jg&>^=qg}~tqh0{8`?(t-4e(xO@ z3rrN;)7)!BQRYe$_#q|{Y6cU5vXsC;z(q!2SQrj6L>K-}(2A^kgn|P#M~%H{X#zpd zgf)ZCpHwjrNUDYe?e3pPbG}9^?Kl<46s=u?lK!a>I<&7A9kc^AAWQr-=_$d0S(-Kk z?a0Io2oP#Y-QK0^Hi6(Z5aa5{ewrm!2e)XCR`v%kN#GX^)R6WlOJgA5hR0!es0VUn z`gRG5ga$Dc`tO)W-gtd5i=L5$bHCNj(LumW9)NbjXBt|o9a_!YPeHDBy@iriJ$MM2 ztfuJn-cAbgWZLo!TIKFAB^IN@g9{-Ls4lhHmHRyXo~@rhXveG^6NPKY_>@J_?t?sp z)_9bq1`ueIM`M_X1X((E3)&1m$Up_AtPQQ7e@2U5&^CFu?+OD40g;%EcDrArI@<{o zc{K)P%dj#VZS;LC5Gvf0dUPm0ZveScjnksl*Exmf&>`VT8i@A}&Hfp+%~N$)J?N*4 zF(wMvM5i4=5or+vAr`};93}G*SoGlp3={DnOZ-<6j`aml8DoyR^Vj>+iC53)9y`A= zo`)J|`UD-4CqvPzXqEl231o{qeHbNOk5LGbyx-AjP!h-%-9Hnp+SSrMMbM6IsjKl+ zdVhzXBUro^qA&U7;acL!k_Q>91QZSal7mod`#*WGPBo7S7#`FhQ-#k9C|c4{2kuZ^ z;jA|viV)BI5IN4G!}LEHkgu3m ziS3NZus;s%$iA!^O{I5j|7Vnk>VVpkS8t!?-OgQZ`&<+WZx=zxbwgQt8{DECg_=O? z#A29;1)1Vzv_qQ*A}LgX$s2aVf>3E)kS8^^1 zC|YwT2O-x3WvM-dKuT?D#4ynqIsGazGhmMx|}GEKD^9WuXxn!uTpUi;%l z57hznGe7=zj#M4I!Q8n9MZ*6TfecJQIeJJ30mLsqf#ISn$Q507hM?$~W}K({AKU-g z>(yL8lCbo%?WqO|)u;Ij9Tr7G#@Duv>>>p@GyJGU8{vmM2nAJJbP)a<53-iiUfQ5x zzFj~&VFwS@MKxQGKYq^B@3Y#uAAh?n%S6F@F;@i?tv=3y475i%dT=2G(5wdq3>S?+ zw#>cK?cYKL;E5?_&e8u&@b0kbnav-hnJH9L(gk!Flmi*Jpw&maK-TES#wZyPn){{G zve9A9SO#RxR5usP2#;DGS>lp7si0b@VQb=N@9k#snzGy7^X0p&j`|2N^Hh zde=OVH_N>&+T;$`LGaP@1RX{efV|O*v1s*m#?}YXVM-GCk256IYuR=Q!D}J8&)hR< znICuW3frSiY&{B+@V@9u&=2HHEeM#erepZ%0P>|9egZ}0i!|^GHRNyq;l?EdJtIr@ zt}HNt|7xkxPJfU>MpLwEY5{rU7EeGMa?dUbL1*~Tb&0nLWNz0-Xmv|Q)_>4pTP^B$ z?y&XFd*6!_JiXp|d(zG<9(>1ik3bRoeICd|Ta+WAZ3+ZP)(95EM_-W0`l_pXlNr2a zDw=cqV{2ISLUF5c$2joQVk6pR)&|J1rN1w0K;}{xpk!Nj9R%IH0cc0opQIpjc@Nos zvu5bJ2xzB$lLtR=mZ&<{f3!rvYsy~q)|%gX2=z%*WsHsrfh z2sYifMzj;&&j7izNR43zQzsYg$WVhH)nW3U@5f{ccr8S|sNtKDSqugLFi-AAk^b=v zkcl4hED*?kGz$X3Z~?;zs{=X9XsJb!&?X*yLd~T&Kkn6BzwBq8zB!MAulP66VahSE zA2Gdb0hy!AMxdnRH3ouT;$CZI>z z58k>Zh6A5iI-?zVEXL76{H%h|qTos1Z!Fpfx28gHsV1q>;g)<*N(b?B2E^Zp4zZEo zJ*p|~{%qr7Prbw1chAnN<|7@`%3>55f6#zzG>~0JEg{=}NMoR;)x~f!3gk`KF~L5$ zIEsSrOsbt{8y?Z4N5yBZpO(Qap=sz)l>{+Cf!wfL@M~Cz+9C(M*mDc%weKEmnAS8F~cORsv7^ohab{|2}g=G|E zqc6%-XB7m%#~4l;g3Oh^N>Ef>*8qND%%x*Losv$_1LNS!SI+k8aKOu%O=-`do$)*a zkntb18a)p}gfbbWC*OQ^C3vKIl%V97#VIRNH4Frau3siPOy9$SM-)O!^|QT$U^)tD z$NppTGI!|S=8UIv&h*30hcC=vpxO+5>}$5Jm_a_`S(Kx=?hpvfIt(WRLFSk`v(aYC zMhgDY74+EjMTCG}(6@SYOOg&ex|o1=xpz_k%iCxbo5(@%QBB&PpSIm?G|v2cA$UX+ zd!j^`JK~|MpPikxOGhCH3MLBZFeQb8NAp%dNENh2tKJy^&5F@sfeJj~GE!c-b!vi# z-a$S3QvH-XhC=nxdFKd5JV25wq{QSp!~(Z-A~ycF*76-?CK) zfyOnPi%t_&;MvMo-#l5G!B7a1d85(lKN$d}&!EGY0=OnFZ{Y|1M|)^nh2jghzEV~l zpk^3;Qllulml@=w8_G~z%XkQcJc8k*2gn_b9)mWsk26p$Tt?cHPrsN;&@*9v`zID^ zIH(f60Uc%z0|3(>Ml6#%LR%;^6f<&c!R5xfEADvUv!wZ%gjLlWi)F_ z&>^>%0X$py_e`U4ciT_@Ow&*ZJ}xm9t=_hPG)%>2=GJS^k9?*1i|K-g5%kGzo}8S) zK~13>Mi3O8OQRqsJy4e7#>GR;GhtX!f$W)owCB`cCqZ>lUE$&%e&0>dGjghT$7L#} z%56ae?HV5g0RCt?mSI2DL9kHG#*Qz{wimoLeF{17($=L|nQ_A9pQ1A;1P0C7{%i?B zrwQM1;04XicV#0Y+5N>&JIxe=jCmps%LpGD0QgVQAz}kmfyqdzf9bG?-hm{nU)B9s z&1OI5yR|4%|7ZYtiA9-8KePP!w2k=&j>@22lA{SAe>Cbbf}(`mbx;GCoH;kVFx!Zp zk%Sw&)GFk`4b^w(a9%Iwkf_6g7Jn)*~CIQ{iC*M8U1OY(v zj&GhIpbK(i6a{Z^MYkv0I;6P9oewb(RJtL#SjPB=34l9K&@OHvxWlOye)aAEHSy3p zoN4pt3JZmr6}cX5_HLjcFAY%cvfKUDXIczYAHNjC$&H`@eE0b%BKHrYP$L-2!h_!p z$VD&YURd>IY2^qv?*+6YgHi#2ySNCgx)wkX&^_(2yfe`pc#XSr8@ffZA3GjTYd$53 z{-K0mIpjMPc!?|Qvj#;ZclHY%H)<#Zi|$hv%cLLW0pK+O?J`rKBFf~=`{3ONa|I9I z9A`d!GR?w4O*8+dM^WZc1ISEYRD|rG=RkFBosQw85hy{-qb!Pyzh*#9;mk?(e*1k1 zLC=h_jlMdW!GWus-_c<~0RYfrwtr^b911mSd|jvJ4I5t9xN+k+tYCe8-+ru@p2Mn? z3_Qj`jk3)7W2zA=$o<;{UdwAKpdHaqxbLs?@emZ|i3H267LUWGv1pgMuu^q6`P~1t z%Jz^-XWswp9;rIiFdBUrZMsHLkQt2{tBYU|q@Q~Ys;QR|!%0g}0$S?~+RRO)P=j>w z-p=(Cw!OZiR=f!uwzfiti8)Y4W&2r@(2s$dq#21GX?>o{n$d>Es$~DCnTkS<;f`H- zki|+$>T%#TF8U0X*KQAmAdsFzzHWvxCyj0jgmgo$-}CFTJ&g}udVL++(%S&gd}c(^ zlIM7kouiK4K2e#wrO*pUi@qV%hSt7Twre3O=Cm_19wsab>O4 zbqyOfuj@1(Y8IWd4z1n*t3ox}B`gFxKI`P06PtMG9Z1{*@r4+RcduG4{AXEkLv_^btYx>g zXs5+%65>YudS{e|LLhO|j-W_r5d(4*i;6J<{I_*BhLs3VimX-kocg8=2n;^&~SY>(C9rkhJO90XWa zXM&=^br_JN2B;Wn2K?4Qz_2m`l!Bf*pnQBZ#Qf=TD8K;2*m9MHFe{ ziq%H+l5lUT#zes%9LJbU=Dd{Q4PLBR7UP~XK=tHQt`CIG&742_)lC;;7{4Opp6HE+ zSvsDhP<^^La|LC?h_-H5&lwvZ#Z4nhT}VWtMOWhK6Cc^J1&o0 zaL?Nl-|he5_n)@8BNrV6{kA*)=)N>>FhBK(1m~REoCXrx6%#(m+Az#xrQs^GODRgD;wM z`+p{|cx~T+q_itqW#6p>Z*YtuXJh@(u1h|}k}BJVB{LuRdT6ii%W^CR69?tc)Rqxg zg?5P?_>MWY*@$)nYV+VPuE!L#TeA0`M+yuS{KLiX?Ec3c+w=lD)xCEd-;kx_z&EPD1T16xLZW4ibayF*V+C3_PKXCV$$bcY3$l z&7ylkanGquFa6NEc2t(x#87Z2ro#k+?i7Ex3;e!>nKdn_>zCjst%jTY}-H9e6DsWMJ3V zXpI!O||M2G{2`sun1Z_l<8}E7l$FVze z%sQUJHRL@pg>^F%F8Q-a2K=I{GZ*a!m2%)8=FJ4O5x!1i{JOZ=4yzE+vf|MfXEIoF zmUZtn^y>#^E~&DaAnd8+>prW$F~`7g;0@i~*=W_Z6eO13RgUWVqQm|I9S0$h`YPJ2 zn?*ssdZ2Rj0zX{Furmt0)AQQ87U`jK#Ch40`&?@QXa|*JcEaERy}utnErtXC z(2Op*D49J?2mVP~ijv=lao~?#9~PrKWI~4+aECG`b5>OC)<0ZoI<;r9fbOxoTlIct z(zJXHL&1|{cc7JahykwIK?vKrZkiTjq7V}N*#s0BKhuDm4M4?+TLwNGj^U>vc&&as z$bjlsdrsY;0D_LOZ1`aFBJH(C9`Xkx(5mDB4{mXWq;LMYJU5$QB|>`axqBWz|JuTM zgNf(BTU1w+*5g3mNk4YD(xuClA%8zPEZ)p>;J?!U5VX;*RDoakr;KPbw~h|{!bESD-d*pO*r!Nhv#b*c!-iY>9=K*ixed0%Wh7V z9@^CO*D2 zfnYhWfWxt$(TZ)D3YAgw)&m1yF3}P<?}i^H!xJ?PBr zVk5diiWj|l_u^C?2URMVD4^9}@nC1VT(LU*{8TfkI)sSf273eXgBfHk5tSqNYYu$V zAHz^T@LHQRkOSS(OtkqT4MKyO3TnOa#Woflau0!nc~dT0t?tWL3NoU;{N(4=TC9NR zBS!!7_?s6~H9QBhV7ZB)P1`gM{E+kj+6axdg8w+)96#*IzlT^mqYgh#>U*F^T9J>({A1IOXBp&Rz%jHj&me-EaQ3xeExf4Or znVleSOav;&l0U&G$I>wj)dR1MOaoa+T0l^ge$)gZ!>D#XG4Y5IZI0xF16_7MS_!|T zfeTJ^Y|pQq))*@lhc)Xz{-M1MXR5Wfdjt}CBopBH`UHDQ3x^J-{~mIe##6o zHxZSCeV&3ZnhO|)lE7PR`RY6yzo57ql@Rw1Cg($+>8AYLXdbf#Wr)7vFsRm(dY=f)!|2 z|NP09QDzRxDhl)%TLXK`Yhaxg&AqAQ1iwcsQ4?akni(yC& z-W%KlS76MZ&nI)31AMd!QWBei6{>{$&&#qTWN% z{6}~Sa-jQ3jUx391IV35jmmN2EcoD8Eg}*OGXubD8mtBKK!@E=P;|KvLTlcGD0*-n zxG+pQfmZrQ3n&1XCjT@dx8ilBwI4rRt3bzqOwm7$Xp=mRg0G_1p^g3q4&;S0y1dC> zKK1+qJ#$ILtE%U||MQp`>@Jot#)qDPzQCqafNXUZr&u>3zw)Rk()sJn-0KtyXzK`U}cBn79G7g5yY zB*=pK4K0e)KN>*(>Y{Rxsqx^oewu6o z09x><9<5GHGJuOnXU`}Hbmw}s*&9Vc{$f~Ej@&xnEpCB;;b@>QwZ9I?g?We;MZ4?s z5K5&Vp=kCTC?{{69<8$5jBCZB1BpBH-?Ix<3u>@=7bNrLuW~rh)t@hIc-{)GHa>%*3mZTV%)c2?RD6R8l%Opt2iXVSN}G*gX*hUo zDE0-ppgWUMM7}PBP&y_RhzWC`9PZ@r(mf?3+L7H;`hO)=2l<<}1SPW+7HLguITIt8-K{<0~qv)ejkb#WHjVM~umjOlSfeNCp z58f%5NiZzMfY(Ogc#sVmeHcZ;#3BfxopXu%0|#38t`VKcwyVdBcuRC@M%o6nI0|7Q<6AcumJ*ACM0^ zYn^?^qAHZH1#;1f^v`qC{j+FeeDO+(2^1#jRkT}R0iS5@LYuw$peTIN@vGYiIvL+B zr0y>^6FIztpv~smH*OSyQY4~+WDf*yEH1|IGzh#FiP#HdB;y?xMYEf65Gwq`ELs_V z(p4Uzb{TE9^?$?yic|P5O2|YF_#~zTMdbSoP#7lvY*#fpBwwUZLF&sW+Pxn_F5W)= zXYl7d1i-%o``C5h1=Crq071gZ-t+KmQD39iRrbf~HqXir& zkLo6r2yJxWlgY&>%Ke-N#WAH^dC`bA?Bf|wQC@$7R=J_iSGd|TmJVZ<=i7rb_p+zJF|UrEEh zlK~;J;YEUFNV}a-9(Vd2L92vrMF9Ok0>7Y0y2nwHej5)ysb@sdph8e2uHfi=6sbSU zp->*}o{d)IRuzO6cYHpI$h+~NAR09)$VBjn`-@K)eZLC8wbf>P_uE)}ZL4 zC@3%KdFeZIViG7*{Cy}{b2A4%c|}0cLph*Od7C0ow0gLqs*7t~lOVL>CkiNN4KLaHRsT-H138WQ7?!9YyTD8VHSVic$1&4wRGe#uBt5ZBJ8BB>v6>lstHn zf-mR|1VuBCfl?K9v;E?ebEi2dZ)ZDO*ZATF2r2H)!6*_|Wq_j8MFkn{Rpu6^dV=@b z$*w>^(L}U498Dn<_||%~A}!6}iXZz7iY5%#fg*7WI}w!ZEd-x1bZmMCpFo z^GQ%%)JG^<(*r^(=PE(bGqouM%D)5q27^a+FkFoQuQ4oQ1CSSP>^2nXf6zcEXg(9r z%J>8WF6iWa0$OPwF9Ky!J+4Q)_7*=2gfJEqi=J*v&}zvW8Bk8n$0#cP211GX`~-@O z*Jpsjv_%EcfhV0YTwMoVOGEh;2#EO@ZKj;05CTPCqbNO*f(!GGVib)?0cB!p#iAYg z&;UN+end%sGbomB_yiO^GnNNe=9UDl^sRXaq11gCtOQQ}1N#UDP9%7;55v_^@Y>B% zpf4-@!3Y#(cQ8N*teAqL`E$SpUAPxT#Sb%}Oj-XJ(aw0U0sPA#@YJ0Y6szcQEm{ft zCR1?1NS7Lg&omG^rhb_yGLFjtrRjkRk_aBq(HO4kg4b?9#P%RFG-)3}(TK?q0*B_K z=u8^8;6K=nR>Bu2L78aED1vtSe|#+vlL$)M?gHgX8G)kW9cFMr6Vp-jbrFP4)I(_V zq7tt`j7H_?2c8_ka8(Dq)>4iI0!&XVK~e6Hrcg{`N=Ga5LJqjddRIWJ%)iZ`OqSLO z=%9be0KVB`M2Y^W2^5QYxEMuy7gBIBXFiIitbmX)olgi({Pyp_zAoU&Weiu5zP*oc z3bJ$T3$(dwG6bFOZUL>>9}M6`d%TFE30py-((Xd^zk`4|C(v%{X;7|{UkGTm`vV?a zq@6+0{6i2bbj2M6MQ7$wP@crFdMP&$!xXCnuZ@ytfiT^cjv{qO69ik zF%jW3@wy&{saWt{6GR*Z^0VSTw7KsX1lx*_P_%6txG4AzVPuVC^_cDVb^+n|v3m(+QFx3LQ7KJh`5HMMqibsOKwf%T8ibfWIlVN!_ z+6*y+66sz!ffeMoSgZmc%v*yF`j&;DRC%4y=Ia7*F>M=)K3V~x5qUq_+_jK`B5BlN zG|#mUhN*GjwR+N668SOo%0*FJeI_*9f`oFTph}w(6bWZdpgh#jw*)K8-S>zNycXXU zozy#cP$JzM^XCUI#8%iVYF4PA%>~p;I)3TEfDnN7<61V z4Jws%omG350SCrDgBi1@QBWT9!PV$i@vSQu@D5Geiy}Q*o%oUiWik&zo9yKVa4Hyy zqT=Ha3UpaAipZ!aP^xaI7!$yQ#{b@Owf**N1#)D*qDN6g9S(x2bT5id?5E&h7-vKq zbtEWHR^9nn1!2H&6?lV7yH$-=LMwt+4{oQRNT#y_ib&H^aMIi>gmPz)xtktE#m_OI zREekL8 z&rb%=_|qR}qews-vVJEh5}lTfHuH}&;J}>KO4nai5PWpb02GmZg`ikW94bXSs9I9p zrrLjJxt8fF-vR-aKUfr<+QUE)on9lY4A=?|^qbizF-C*JFp({%6GWnwVt;{U1uW-q zcO7_O*|L|#3dlV=P^3sT+8DFDJsPns6tA&5g5)I zfcFMqnFx?2dgwtEk+)+Yh%UyV=+y#nU^*6~M3@H3Vt(Y4pVJ8vK@f;h8#nj<1^@l9 z;Q$t0ExBC-*Ob$75mpvAnSv5+%tlG4C~!Jy?;Rr{=xD8VC?c<>f`WBX`cAoiBQVVM z0`DbYnK+Oq)lDpldLHK>c=i`d2MzJyz<;7giE$1nOHAEMcO_``>f$BSXWsYS?KiK` z0PxX`a?w@x-4>`CSK4wLx?!xvff7XyK&DjhuqcXsghJ5VoQ+n3>o^?Ucf=mgk^>xs0h;seB6PL(5gy#* zB0tumD`Pg=oazCJG{=Y%{U34sy-Oem3A9J z5&M5Jphz28sU1Y2jSd_v*9&N+o&iBd6DQd7wgOPLUZ@z?Gf){bBmu+PAm03Euui<_YN`_2=M}(H^aGu}l{;$Oy+U3ynh03^L75WE3KoL20 zZviM0cYsLkAd>G~`^2XNw9392f-K8EC#&ZH29zxlmBan+;H2v?oZST8YmTC3AXD5o z6HsJ)KLdiqP**@J{hi>Xx{MC1EOIFgydk4t+1Sr#lgBkX<7M<8tMNkQs(q8Xo zM=(hkH0c-v%EaGBq;?R=^BQpACP~fXpETGF#B>yq|7L;G#iDY=wFYX zMSVf8iW&+iYSn{6a9BPO&?+|(oMJkm!`DR+del%5y{GQ`Z~Z*Fq~!kV=a|6H3h{y- zowijz|K@fsFrtLy60}=Ai2-j>hG9665px$uJBaNw!0B`8DfJT!1Xb4m2`GwfMnUNs zp^}W_zztnX^}p-n$|R$xBghqBXAO$jmX@F$Ye{=!wu1wmJOv$k=RnBm79MReb-LO} z5ZN^^_bKJTKg`JmdUP6fl0rE&ZIFNxcDH~M{fO2X;3cXno$>kDWd#`qUM^+AvI-q8 ztH9|_Jz5EM4G>JsmTf2!o>hV3jYlQP-UM!?G{x|g06vIA(Lj)`f))ftqoXMVMa)$c zW!44mrfVlG+f`4ecxCLI247YEhC&3n~| z4j1O};KKBYfOcwvRzmXmd>#0JEA8|08Wxcl)zhc8IJ!^=A(zt|9i~jC;ILgPyHDpq z5SgCajUx8@3e5h<#iI;b3@}Ebt%uzdmRK($HoM$XMY>f>z{# z6beCbvI$y|!ztjv|Co+WWDgG^L3LZ}?~9Xub;J$iphnOctI;959tFFkwpb3kv^rn^ zhQ!B~*gBuJFU`|I2*r#*r|AcIaOg1~MK^ARprOYesuZ&+TMQc}CoUL{RDKkQb|7PX z>m?{scjO@mq9>r}fn(sncgRK;Pir6qsG;=iFT2r(oT_Vr8d5ljpu;AUb3h?Mi9isA z*da+2s)PAE4n?_ltlVm%5GpB|=oB}J2Zv#{mWd=!hM+NxFGi96B{PJF#;6>9p=ub0 zn)ow$Q4KOik98#|+8YHya3}&ruWtnhet9;!I9v$9!qgt#q2Z_jnB3xz+j{MbK#6ds z1~1H;e#}LOzp_9Qy$vPVEFq`*Z?tewJ={P?`?Ih9Rvm?q;P()8O8=1uhm^wvt(u&K zpgDF2K~dvn6vD$$R1CESs`kG=Xaj1YL<2IWyCEG#>63T}y#2O@MQ~k0!C%Qn7wSV0 z1TozjHtvaTk#!fL=Fnwp(c!LRU}I>G64r>q>NlcvP;I8VrwH2Y{^e|`fkFsqo<iN2^9P2n0a4Bh0{0@)OhF*|7n}J{{Jd7@~m-FDT^>q|Q9D-ok@BrF;6iFdWXtd#Rr{{lt&<5O$l4c-h zI{Ohw@k$c}8n;J!P5Xwa$^wC1f_8D=fJk!> z+OfsABx<0BTwF)ct)7h=c8h@^IHX1w*;jaQhq^Akg@g0$LecbFKwKi>?xC>`ew`beg=Fw4H~xzxHSS*5Cfv zYtzHG^}X#DtlEh|TX?8hbm4lm%l%W@>#s(Mu;#;P9%@X|$9k+vLgyq1G`=oD7uj8S z*99a5t<;GS9Q5QA6pqk9G9Ma(R-i?tkHR6P(-dPgaFIvEIs*c29=JO2-;08f@R>#($B<>)En#FG!bONh(OIZu`@TOire%reKpRa8{v@3|7Z0kAu$l9q(e}BEfkUJ--O6lj98;3=o|foE|CTZ zn8L;=S#lA|)YhWp)IkmcL3gb6zBu%OP~7B}#}5vRF)*}RI|{XE$6^_6xelUs99oeD zF%Se9Hwh?;`^p4iWe6%mTeudkTP}u~MDRs7l#BtHqqAC}NcgJ=0?PiFcHKO1GX18- z3feHf-&ZP{vvSp_xoQC`BS;7m!N{^kH=TuW;{#Iqu`&6=h04JD`gNcYa3dTQArSZTfvDG6k$i$UJiH z@~iEyKL2k24~M?rvgPB?Hg7a?)R&P$XQ6hd_#6jiM1z;AFVTh!WplQ**p#YrUV|N{-NDMI?Jd zr$<*t$EYkCjoEBA*qAkzn6yK84)56I@een*xUSJ}^@;)>%{M~3r#PTr2`C{?XF%Z4 zj9K3w5!`eN)=o;WbyZlIpq@Kw)yg?VzTa(P+F%9R-%Q{%Z=GY5Z@|&*b5TUv=R>#| zgNo1suI+|63@bgsC;ib*19F%3D2t+!#T*3Coatyq?kEK(!?P@w$)4IIj-cd10eD6k zbJ51LLr0b560FD=vHqSn5~DJB3T|*5&zp2Qv&Lf4aS&)Rf1zDx2Kdj=E_V|Tfy8Ca zxU^bqlL)I#h?w1K%&3u#nm_w^%a-pC{jmSL&tGl->g97s+%{f|9{c3;$UGARK1iF6 z73lxafz#xvC^`}e0hiTZK+(1>JcOJ6;c@FTWi*DB#{RB;N&&f}+e-*qv29ckK(iv; z?2IuyEnt~bD|a<(f)e8g6t0akWvqDZsrIAe1gwZ;uDv|&;La=)2eObi5$zh9fcX&Z zrU(39F;`UYw?@~s*!nplEe81RAY30d4-T2*S<{3SUSqvGgVwPI`k+8lhb?ki9(n2iG$J z-Ryo*8s=K=9*eoTtwH;fQT-*LWK;}PjdHq}(-nM;S}$H&1>2VuDaPbXfC1!#<0ph*dsJozU*8 z3F6zLU8fk32hNnW^WeD4YcmN}B*cww|I}+MGCa0p^aCSGnl#(B@)VX4o;H9}{yr2% z%z^;p?p%W+_GuM_p@{If^*OvJhLe`ylR;?L5#%qv0YTA#(-Z=xUM^Y**K5GZat~TH z+0SuFQ_*hbEDkE;OhwVp4ZUx+o?r#+?x|Ow8oNTpb09am^=Q|hgS6FX*E<8`gE8mN z>i6hn@Czc_vOd?&dbtqAV-=DXg7{Rk94&Aj|SvJdTO}1Ps0b+xH-B@c=79}zA3dZ z6x=iQ(W9ieyNOFI!7}9kG~g6}2}POBAh7tpCr~6jngQYHCWWsHl5Dsi!^v3i$&F~& z85E%K9sxxcHc|+b16s6VcbLG*G7_!UF9hHWr(;o~zoG+ITuQIYC0eXRKX}Yvf7dQF zGZbV>bq4M321pdp?m9Eb4#%rjjD70r)ZHvrK=iZk8~R*yk%@!KxLGsNZfX+8?Qeos z_gKJ5bG?98x%D8hk{%-{I#QcLIO>iHFa$g)>cnCg8RqX^k4B&X{3{VC(l0kapu8q^ z5HFd)DPyFqFl~S`O!r)r#67`-(<8rQWh7zIFMsTrmuI3NWAPuM-E9E%1+-gW23g{C zS@Zfn{_b2x8^*<;gjptDakb2U_(OXsEWLbb#CCxY}qp2H*lKJ~N zkVKEfO7v^)>c6r_fq?;;%lZfsn^uP?gr_DbdlSGTdSx4ik2vtnXtWyxN?@|D z#?L%VjM2&wzfW^Wn<$g;U8IS~}2*Q^As7FfVZb*r>pUf(#r&`$mnGh!qgCyy>8%H(p?xn zMuBf)(M}DDV49>x(TP792#mD#C@P5tCvN{-X|ySIc?rh>&pa4y^b-xmbpL zXa=X$-Y7az8v=-LZEqm{(LlIrrtpkflG7E#$3*Z=9NG;ACE(|E&PI{;Cj$gV;UI!m zyZ3{Og3D-?u#&Gb>z9!E_w<>Ts^KUoN#X>Qyv{kUC`!-B6oNApUi|jbh`~lIN83CV z$`pL}!;azC*cyX! zHy%8jcLu{pUGNP$^at59MSj{7?RE!jg1+ft7OmKaP2fZi^hB%VlN2gYO+Xi!{}h1& zeO`i+9RTn?+8N*1fuc}OlRB->J@bjDy zEQsPjfi^Zl$)Dv5#5f%&4&{r+mw5VA%-c+C>mYRC#O=wIo;T+~08Pt8iBQsJmWD!D zx*;sy7580-;iHz{zXh9tyz!CO_e2Nb!X5(z%Kj55x?Bh@bmNRzM)+?QloyqNE|M4X zphP)0q7CU$zCe7U10^c@Clg&vP(cOsWHMUyJU~6Pj{&eX86DWQFU>Ph2t$!5clE%t zqp=u1QvIFw&8lRcK6JlBiw@dRe`){%e9x66F9a9dmg#6Ub)(yfxRQvY8c?L1WVF$i z0zgZ&)Bm6YCE}tM2-h6z%sjUQt?t_eF7j3hXr0|`j^t1rL zQ)p+rR|ks3FHS}m2~kj9)_(;zM`(qYQFLNI1XSUtnFJk3Lf6*$%)bL&gDwR;qCcF# zu+hZt2%1cCiPrfAM9zw6OO(;^5kex(tugkLq_s^B{Ttxi2>0K3%b=%oEM2NcTE03|O$ znGXm`NDB=p6f>+7x_FNRCvMgSf@RppHQ<6KCZOm)1rTUd)8oDRxJ#zPosg0j{Q zywGDRhK(WqMi5#C z*1CchqR(L1XzgzVkqmOA8}{sAEN>J9!Lc(aT74SIp&ObKw3=UE2W9vbn^|<~Jq(me zb5@HsY%?gcECKD-M{=N4+_YqL@x6tDh(@=pjB}q1PT8!x*{a=x;wKt z2opn4)|!JC(mo;>E}HopL9_t*;R>E;YsB)jkq`t0{~>6VzJ)?LO!pGBA`i{u03g0& z0y^o(=YUcbtP;>BA`QyKJcxEjwsW9ZhNB7Sbf&gJ`fl&6N2~NM8YpLSV-!t@hG60E z!1BoSON&($!a_5YwGQBgte=e-E~5O6AO?c$@WVQ9BUnL82nNkK0j-3A1}HC2IE?)Qf@5Ds)|l(X*O1^%sc3=>+$&j>*vQt&%D34Lk}hKa_0kJ3s5c`+?}b~;v;2*EKY z7DXqHQz%b&*7pBPNH-F+B51=3P0~Q2Xnuc!l9#iZsK zQ%kp!^PoJ#K&f>cr-2}9ro~FM4|F_c0>$fwGREq_8`Gu=7#=428$rZ@tk9SzMi{ZO z77!#kzo3YH-vSk+HrJy&f^cRRC=<=<7(r0-vC38=)hIExhEAu^Q_a8GT*sk>i-O@Ktg$gY1vncu{ z2ZF3Ux+C;#{zwJ|CF`x^TdtD$$MhHuSdG6CL@$sHQ}olP2)Z#2f++qTf>y$MT)_u0j zKtZ{Bp=|X|1@F+?<`WD9qy3E_Fi}3o9cM?d=tf+32qu1fE{ZPfgo?P+T?x8TvJ(`j zu%RAZp#r9RCW>Yrq7ZDUvFM(@afcKgC{{GeR6TOGn=*~zL1evOVbm4Jg5maJ|T8EVxyMyAybk<`zZL`28XAIiSeuM$V%9(<0 zkglgWsA%T}6y=8I+mZoa6gA2vsCdo%jUc*$9O&j;iXi9) zI}n178LmdrkscH(`v5CrKj1)NGQQVic@s5YWBLy5g!fgTSOpKF8(%EeK}F1)=_qQo zlgjS6ep`cP3QeoWqx?+h0luM&*Rua(8FeFcY9ovEq4iQ0-HE6J!ADc3ph#QS0B*F! zN{nwZpe)?c1T2r-YX%$oEkV0=lPM_Gu~S&tx+oJ=QZ!L&8XKq}G`bJKDhV?`RpzpY zG?bmeJ-}C{?{^baxY2$e4c;J!_TlLWbSpUxLP7HmK`U}O72HT0fEBU7>OfJr&!-bC zPutG~l4Y4_XI#mFLUFUwv9b@KGTP$^iqyjy2oa`N1XjuT;+4rJP@VxOGwNpGyLrDG zQQ;c-UDsgV3Rm z%tle>SPtClcdr&*XzQCmMrg*}i?YW&!b4?rYyT4hRz_a1fJ5Pf=yXX#!2{kvL3VN) zV+Fl6;EwqZ0Y!Igg^=sh6RSk#H{Wlepde#VMjC>@@>-}-$y)gxL5vIS;MT@0x;Ie= zp%nAAbms8B1>Cc|UEy-QjBfidY27Ylvs2$xK?Uah^$+yuqDOZ~b2B*bKcJI#tck+4 zS&laCZULDoosBNCvvDE=Zf(7hpp|jC0YXo8y&9_|9JzOxnSx>rMHv|meyg=qj|$e_ z-v|PSL&%sXZa-(G~ZjE3)J#6NDTE;IpFpHD8~}p1OK-22`@A zX{%0c(Jl5J12}D%j!tXS7`Qh6kulke?#`efBc|a-bfLYsAGpVj&9uJ?q#y@r?XhZX za<3E<1%()kGLi;<7%*6Gf||!7c8!p6G%_ z(m0<&C~=1T*H+#5zT+3XA5 z(io5nI{6MP=j|$+!S|(h@#`3niDsR!YR0zbOL$A2dOy z1O`IGFs)%6y4N-uLa*=_f>!FW6x=cG$VC@~p!RPKg&?CG&GxL^wCY?OixT71 z4wH4@mg(ZpRTPMX^Coa{avM4=*~ozh88=@&#b&N=-Y+_f2cQsgrX2|tZ)wr0#<8JD zE2jmkwcE2;CH<&_MHCdFEy_kGsE(|O#RL_KjR)^Vp^GsP5?sOf#sa!E_y&*z!w&?l z*eXtr3_}T)L)bCHOu;M-jLDoj=at_YjhK)wpes`H=tVPB#Wdrsxq5&+5 z#s68r6Mk#Ihtd&IAMxG;H?Ddu-@rjA(fo?bAbP&Wfm_k5Q8cp$$Vp0bHC8G6m+i_( ztFK4d=nQ@_gH7!zdQ_-Ze$Pjl2%%t@)nGTe*B~Bbf$OV9EAnn0xTCp>B7zbk6n|F8 zL4a|L&R{lM3MOByGimwLudh8(>1RFJechfc4ys1YwY$AOSC18~?LonX?h^r>5^7QK zNH@8|R3l2*xO1yEt=!WrrO3oljzW-8&EI+~FL#Ft+@WLDXhnW01bK-W7lBn$w>YGs zAbVpK{|F+F0THu&wSdah-tWhaLm>EQ!O^KKx|LiTJ+_5Zh)CY-RoLk=# z$jYG8MJw`y0pv#0s~uKJea}K2$el)u za?u0)W2PXAxkssoOkMmQk1`g5&QR;GOmr)*1IS0pgD8q!2JUFy#){b7LCd(Bs03w9 zIwzA(6SMQRNmo|2cxY-#TsBJxRzb*Y+rhh^8Ps&L;xe6mS>THHXoW6T&*8ueT-KiJ zDm{!R`V(tke|q_(Iu|DwSj=XFjtP9HRd}zOpdCTcRSme4_bx#zZC?&#s9$5OlKSlx z+`l1&m(&dSiJ>6+W&j)h8FebUN`fHccHN#Vpj+*eKt@t;A!t?X{&B7ORskzw)t{z< z-zdZD%vl?@x32rtl`b!JdFh`nWq&j9r7i=U^i-I0rx5pCw0byI#G`TVWF-reuOyc~@#kafcH!EB+@rqKl! zaHmvy1rad~W_{CwZa^1{3+rPTXU-5*@%Vj1DRCw4AeIPd0>dbA>= zU*ml38!S!PYH4seZ zS(}%jTTN3yZfLFfD2hEqp)&rt2rNUsGe8-x==PZe%aFabcweeRR`mG>=i2So5`w-G zw3#I%uKrO!I>x|r;1}JOi_lL0j{(Xtw_&j&?YrBfEYzD{FhkD9ueyD_bV4rcvBYWh z`s^}N*OZ%nBDQhw&Ex*Ab9z^X&ct!xJJpYaQA83Jty`U7@AbyH?*+R^t>QZtkhA!1 zgRx4l*P|d;W0e1n8Z=T1(d;mb%G1r?@ru_&5OGO;MziSFM3AA>FHodC%0p$`j94r~ zUd;lV()M~RBkYUjz&lJvWWR|IstNi+&=*I{KKx$O7Vkbg@V0MONhjO96FtTVa)cKMpe024x`@YJfqJDMTGV2eh+k5ImaN zZ)Xy8YlIGDNcWp``|)ZHR7O+IpjF#akm&x-tZAvrN*s6minSBw1ArM zXDd{mRPbJBbQ%Of!xbLAAfS6aqd<;mVjPOrZ3H)RZb7SO_EV7LykNvK#f>5vxHit5 zwB`D?CkVPjj7Dv?{ZHB1+T7yZv!~v7_1P$1eN zKmPXN)%z|?SmHySAjOTJJ~&y!foIIHt46e%{v{7KrM6OcCWS&}Iaj5bD!=KVGNoN< zTGJ&SWG7ki5rm5#W7u%csN>mCER(Z*b%w>N)CHL`43*B9HWxu9%*mT4U3vEEeN$)eF3uGjCHtR@MuP5;6K${Gl4R!K+L&4|>uqKI;drp2 z`=3FpTXMjSjq6Ypmqgt_@JR%s&0758K& ziWc>tPznFaDYUvL3mo{I4s!_#vs=tyz#VE%8~%Kg3bC|4_UCv1xZ&oVIT{_$a1dm3 zcB2jZn*m(qmtY0iU)0e-P2o76H&_ZzCcgRb8&562GNi0$vUW|&ulzHv^L2Nv+ooo* z662atKP*l)T>G8PUOiexJRHw~4fo~}EJH3?pfYADeF6j7e8Ki^ z?=2zdO6d8;Q;!sAc%GvW5~TyshP-b87jz}T^3pdIL5<@$z7j*m)EMGRDB=RPBrA&tA6z|L^5t=GGvgUX6FOD9Z24WKB^#$aXomU$pQG2szG zNSG^w!#JZJfey_fSSF7~R8&AMQFRuiw{rPVSz%MOnw`jj3u-voYs|K zg1JU?C7k;G-q%uf6hbKeDoQ3=z=h!!ERTKF3_-&&yiSv|^X41=c=zX6eTB%n$@9b0 z%oN;7?VL*xh3QYHnZP0I9<)033J;ag9*aVVimOYK*qT4yHPZF23O@Yru4sgD394c^2OT>;DR%x9)G8Cf`Bf_?kSIc zeoR9lv`j-#vbO+SOpZfW#CTl}1RLdeUQ_VMQ(yEH&=pzoUbpQ9JXDf*+f0FI2mGeEjXB@!-H@_1N@!PZnK};=`L;&&%K-U3Du5#bDK!{LX>TCD@eo8=B#<>e_J89vd9LuEpcdOU;I%%Nbf=ir@R!s|`vV7^4 zoX}YXiW47)q0cQA@qIA_zJOCt3{4 z$jaj>$i$s`v@zc8dTu`jT`YM*2O-8~%xk^*a4|s_Y|qy>^~hpCa{Qhb?tS~X87j!T zBw!i!PdrqjxmQ5Z?<+ugm=WlTG~LO8JPinw2txAOg90i?5_nCcM!SI!M0D~!ELPGf z3gpiIii(UmNui>=_gS>cd_x6QFf1NfjIPp`PBMV3EY3yA(>icimWfWe%grDIOnmgw zw>$kFn~qMo1HP+Mz=5dQH}O*E=8D!@i&j0ya!|?6WE2^@7(jud+MyG9;35w))c`{* z8ER5dZ!IcDPrrInbqoX(H|!Px%VAs80{LSOCZI_BTLx6bEMA17CSRJs9lqr=SPpxt z;baQ(GHW+VE@yzlD*`&OPsdY`1@H@m4(xg(~I$C7@N?c@!$rZPKDB z_96u(N-IG-GT>$t$kliZu^~{CxF5EmVl)NsjYGSJ5L`^{2M9XFb&di>NO~P@2Dlme zt@=leRzlNA3YE~pz37UddVPH!3aU3U z(TaUP4=SQ3#}LOnMny8+kd2a(=M3Pl7znT^3@vR8)TqQo1eM|@@Lnghs|7)3y7@)4 zi~A%V6oUCG6GiOz8Bh^Td5oY{_WLQf|TRjN0CQ6t_MZ*wN8zawh(l>`g2iI@_`wYBJ~%7qS*%+sEAK|k)YM|eg-IqOZ_dk!b;@9S4<#7 z1$Ut&ZUzUEoL5mo+V7$uJAD21Y9#1tZy|+BXk=3Xt}8GWY-6oNT;3Pog46jY+QJpx5j zzv0U-zvxQPP7u)QYAVQ)sUb?VPcR_abp|C9mT@3Qr4v`PL@%IINizdfl=FTzT9L<6 zC{&d3J&U5uuNY7unzn#N8||a{Pz`M$&~Cs`n!rE}n=}&@A{o5b4JAEw5CW>@OVEb2 zt<8W!0}Po1CG)9<79Pi5jruOP`vK4)&iybyOfr<4~f1g9pimH7FTr0C_U~ z*n}klE1*N}Z>b!VW9T;>t;masJXFLSn2jRxODZT3&A(NPHtapeC{#ml2(&Z|rJ+#M z_8&%tXb#@%ijr{<5;@na(T2RdkpX33zFdtq6Wm11+{R8QBFX)7IO#U#mb(P3D0^H1 z2eQ->CHkjKAnB2Sl1m1Vt35BWh)B?Zbgiuc7yLIKFh47mFbj2{rB5QUR4=Ja~;sKpSlmgaj>Zphp|_Y8og+QD@eE(Yyx-6`B5Q zha$52lOzg2&2zp>$4cS`#&96_0@2b0l4(Y?Aww`RlVtLb_D&@gWlXy-*D}8@A z`9#(qxhNtZ=Ys-eY&wB9@16KX>ixDd$zvWSoDcw6L5jLAa za@>)AZZd(49ZbNA(!ZNyrT{eQlhp)8?fx`DMO+X2yBxN25h#!D&qXMiebxZgg!RLD zF*U1#8pmuNjEZm_c&{niBtz)%GtLmSiFiW=%8>PVHrmA2;h`dK#j_{S4T27fc7bfA z-hvYHu^A+ZMzl$o#DI($p2y1OjxV65jhlhS+rT&g8{{1woh^VVf1hY zR2L3}fNQLTk7)08nU9Ll0ldaUI6AHnGW@v?CG%HmKoMxlWdTKGuba~fE`QTZ^8e)B zaX?k|{XhPvh*uGwDuP@^6$Mlj^&+Bruc`>BVkjcCC8v{XU0Qb%r(jW4t17ImIp*5! zT9uYfR+V4ZifYlvwq~`TRc+bUthux~SJkSu+FEX{Uz~G*EB9Ww_j2z!?+cH=>kmqK zpV#~SdOct4f&DWH!a7#P4*zO{ZcrvQ$7fj}Fy#U}eYxNN;RX9f%3ef;*{k z|FaxEl(vPXRt7es1j152bF;%kZP0D{1~nHxCqZPnce7_l@7N)sJLll()YN^q7BNTJ zbB&uC`;W@ecPvHJt?wse)Vhq*Y8V6ZEeP6FYR17_P4^t2E^&wxF`?zG1JvZd-3DI` z=T6IHAo4dI5LU}S*(sp~x}6VDb3?HLkx8%Bu?O;n_iU5=^d>(eQ{_6jMnTNk|Dzge ztk>*O(05Em)Y&p=k}O2S%;Ss!ry+Rrsj{wt$y$GVkQ#Z)MHa+_){c!9@+}1x__AzT zeVLp7<$nfYDVJW!4(@+Dplkb>nv3%k2(9F&49r@(uuXxF@_)LixwF8Dn3FrEni|*D zmnw(=G8<7hgC?1ZXefTyMe(f;{Rv_|OtZy@kgm~T|Ux@ zNHCp|BC6PP5-k}Q*-YQ#02O1Tc~mWwH|&bp5}_b(4Te9 z5S6m^YwUFA2?ZVIQ6rD>Ky07o(?9oRt2g;A_6ly1sj`o2Ma*fqtBSg`&zy(|LmF4| zXp$j_ievw<_N%16iBzSD5kvW?i<-t?G%JV&ZEtU(=J;6+@JCTv_tBTUs0pHSPIj}? z{AP4|-bKxbT8OQ9JpGYR-ZraV@%zI2s7#f7b&7&m<5+){OwH|&w;(bMd6={$$Nsia zZ_=Ud{VJ(%EmadC0_Sz6KD#n1<|qTU2A_z z>MLZs{0s=ebN>U>?fZN)Vu5l~IyE)3GvJr=j2w27sk@;Sg0fAuvQz%8PITJ&C^a>s zBnYi(kxXCvS``KUG@Nyunk{d)A=XGg=^TK_+}MmrA(tZh;%SOPM9Y}%6x?D2ZBoaP zB8Zk}FQaby$_B&&&(ChB=5U+>f1GC@q)yI}sjG`qASC5P61&_IC!tfrZ(Ybg7qLb6 z$={%E>HQAGf{czWan=AOg!9^J>JI85SX0ltcLxT7JkEfKwoj+^O5C zk-vSNgjle5Ej7C@Qs9Sk!9jjWmTAp;Zk;=0}jFFV&!S3@QZhNzUd zIzL6*!LywK{^`Ti-2O8UVomM84^rbg?ROF)hvZO1->`l&NUhs*x0NDGL-4BDZYac| z?CjhhWc}$+B*Xw|{VuAkhuYwWbmIYjNw&&c2DjY5n>zO#55$x5HF`VvM<={Ee=B=` zm`^K#m>jcZYGn714^vlttusIYVeQyHmw{Mgd;2&wa^jmFL=eekh`yCH!!Sh87u#hD zYzl&w!gkXw5QvgG%ubDU!X5=Np!G=ssy9{07gc{ap}?2)$ctVM}ds6F3GRar6ouq|^_weM*QVuzkRAX9VjyY+}LekmK#S3nc2M>M6rR6}8nMX*x! zv+J_pSU=;{uq?5$A~ePokBiYq<^Ps!U=a?r*ihpN5~i=~vD&8_c)kcDAb-m#aXPoki6* zo|e#^a^3AzRnKuEmUy232X(t{wILe#CA$OtGV*&0qRlp=hC&*FU`-`CP2>>cugKJ7 z7G*)*8nv>s z7P|URsY>(nf5sDUr>b<1f*4}?%*V(RehJ_>1ANXvpYKwQqa zbn3Q$kqg14o<~*PtsZpOFiPf^ypW$SV)HI2V&MsygL(^f&FjY8D5e8)`@Z44!; zuT1bV`T^>WU%MG%Yx&T{cJjlu=+5zXJKLSP=G0r{A6Cm}X2TrW%aYimeVO6rf@)L4J{suIluVi}CElm=Ud z=(}Icz>Ni=jLF4AXbmebr0&JPH9%<6XWQ9MPCJI~oOd173ZV^_Q@;a$ec`TW6+}yJ zE&>^OdM0}&KU9uDGQR3!57KABG)k78uIYbmLYMu+wfb#T1G@9vT1VA+sfZyv?`WjP zIxTuvV{CUi&<`WO3o{UX&fip1K(j&^lgqI|Y_`dT)cxTc4}`WSk*c~sdeDt>=_;zm zW#AMIv!1!eiRj3ly%GL7=B#6{4&3EIAePs@!5$?oGp#T>Q?CBuLI=F8Ig{<|e|Mm} z+J|MfbA8x?*pbn-Gv%3!EQl5wH%Gg$KSlL*`XtFk@#KXtCYJ@#HQl_08oBg33q;m7 zPNwQBCFri{M^?7m=d)*Y$Lv%@L+Yr^1o%}kE}6Y^eI*rvmA@ggXPKvu?4`1a3gy{d z7yf#y0xy;g+u82uT~2g&EKSx*yU!%VjJ7%ZWNPldz=^0~yJVpMMSdqaUcUt3WV4Eaw9b^!S@F#gSSw1z<1*!(!0`uH;l)YLv#{vH~&dx@3IInqTRs&9vF^;NLmn!JS^T#@>689ixGz=Y2-Qia} zh#o83Wy1*RG*TsuvF#-*MUxrAnB0h%c#j)aLyh&CO$r3IcM(M+7s49W1!uEZdwk>Y`5z*$v0y0099KCD~J)2*8s%C3`A2E+r>br-6b+L2ftMhaVeATq{{V+4By{eA5gXHdlp1f+;X;?VuLT+aCXUw zN4u0v`tzN==-I0$>CY+)V40c8F3Gdthh;5k9bSwGQ_!7Kd<#{6nzHJjl=Y)>FJgpr z#d4XN#@Vfis_`@|t`C+>s$@o=6}ka=$utc?TFVuP4W0`w@7f>K265R|Td7()NkKO) z|FKgwtz1FW44FYysjat#56e@bT10=2{>_7)dG6X0xWT-55xZEY!Vkv?erZA;qD!gW zD6`$c$35sq8B#@6%|r)c#H$HzYTOC0BD%_`$MyBI$nP8&=$!w_6iOC?RF$8L7~%Zv z2AL{(?yW5lmhxOxz{PS(-cqVEUui&;3@xQ*RW5vutYW9KSdr|DVng%nMrvH|uTc

-1PVL#&`- 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 C>U_lj literal 0 HcmV?d00001 diff --git a/assets/svelte-logo-512.png b/assets/svelte-logo-512.png new file mode 100644 index 0000000000000000000000000000000000000000..454e5f2aafb45b95f72afab217061077e42af9df GIT binary patch literal 2054 zcmaKre>l^78^=HUX`4+6i{{tKsqFZ*I6VoQ4W&X&Ih7PEmLggyscF93Qdf~&=PFXl zuFBdu8NyJVGWtQHNo*&|=Et#;UspsKW5K6!; z!T|sX>(+*B0swA8IKUuG@<{w+i%EQ#;Zdu9cXYhBc5TC!EfwzWt!Zi9=g*HcH&0JZ z&CShCD3$8lw-tQ;Uw7|5VY7R#UX}UzeI6RBi+QsI0JFSxA&jUD*w|Za)eU+%iphYJ zDYp8Cp1Jt)Jjq%86~AjQSA}t6-7fCN(a@%I|0|$fMvv{2f!?{V0=%Ag>b6GT(j*cF z|L~w@NlQ_I37PxDW{-0xzx90FF%^;9_+?Q^^6WaS>&*zRVx?84dPGa|6HZW4sp?MK z%xLb8A~INgHD(Wv{>xwi8L$aqV&FOpXGUJ}L5a!-*TW>Y$BN)g)yvIbBq>G=x>l5t zL3RWcC8|sm1MAvSV69YIgAZOn83)Q5z_u)yBthZ7NTAw(EUYnE{6{G@<5_;ukr=RD z5px{v6+M+V?UM1#<-jeknJz&gUTvsW=$7XNTgM~bJr6h+`71%wBlbCa2>z#2BJ&8c zes4`*-=&gntxszwEOzsSn_wFcCE6Hy2|l?$vJlQW$LRlIQYmQifym>+0;jIi^_Gsx zhFZ74gp`BJ@Fr@XRw=_K=IpO|%}i&%ayiDqlq>v4~OHVakiLt3cm_Wwp(F9mDYod-x)nj%}fZ zM6ZYZA723HpauCV+c(YmPG9ynrUd8)%U$Yolsc;dpZYT{f$Y>q>ZpPIU^j9wl_XfHQX0>)aeck7bz##weBbL1UCtIle++5rgPx3=lw6Y1 z;fGHy;52y4|Ma;COXS~UL;bDcYrF@*v%gZl}o{LI3WrA7DdzNi5p7HugTgW2sA%Q>jZ7 z`tZpU{sTvEP?b)7xKomd(2Vv(W6~wdL$jZ39>v9>eQS-8Gq$q#7!?`!%5s`>F^`En zd~&hKWk<7Xc<8(Mr+z_BK1$2j_%5+aX065}H|FDF`W2-StI+JkE3T;zP=$5N#|&fB zmZlwAQF>@SO6K1rL$UpXupO3u_;;9@`4`496~qf;n9nf3Anas*KXD>QchIH;>zzt% z7{;t`NWWh4aoD#Z3au1PUD+ptJ&d9tk5axEi)RB^kfnhMy)hiC^X2oRkhF1p zYP=^e0=lE}gw@FOx}X~AR|eG1pu=fHxTIwo%=%@ld8vEccncDwZ_%CQJt@w?6(`~` z=LcTV^*vl5RrMi!&rZPHWlokFcbfU`bZ#ZB<1<*Iv7t(K!cS>V4fjLFVxrc+nfX5$CVJiqfqp=(-ve zFTD7!emQhUPa5>iDM65V775Z5775Q(HJXCqCLusVH}uu8+@%aSQ~!_|E|A!pT9@li zIs*)V)0J0HF5dwHOe1Vps{XUeKz8eXay_NgD;PlLAStY>S&HidiSz+5u5nKtml8Zx%Vo&4PrVF{3d`G*gyfopMss$7Aq016!gGo(fi+=9a!yQ{5AuO%VeRqY3H|e zys}_@%NYkXE6gVVKAE@n0OQ~Gu5TW)Bbc3?hzsYvsu zj1^_MrlW7RQv=y~Uz!c0hFhB)K=ZXM$q^(gBi2yT2FiGRvnE^d1MR|;k9oe$2Ctkr z4W`BSg`!lua@By^_NhAlvi4ZC(iqE~Jesn7YPOtc?B=jh!IN8q6*$L6wMTR#(fBss zrtIUqfGSA#B#@&0_SwhP9-<*p2-Y{0eA-;@hg^*i%`JqasB8qqEF00$EaHFyVi$p) zh0I1&7Bkwx*BNtpHEIb$WU_msmmpXM6w6;&1*;z>ULeTRk!(ceMi1JVyZVu|A=3S8 zp_v2^b(bt6G1Ebj>3^c=JW(yI9VSKVj|B)1Vc$Kc1@iX3FVfGtsf=?}?XgA8#5o7> c|3W?oyX7{Tb(#@>{JU-4>J1^~K`g<)0SYdQZvX%Q literal 0 HcmV?d00001 diff --git a/components/Nav.html b/components/Nav.html new file mode 100644 index 0000000..23c0631 --- /dev/null +++ b/components/Nav.html @@ -0,0 +1,56 @@ +

+ + \ No newline at end of file diff --git a/cypress.json b/cypress.json new file mode 100644 index 0000000..f5622fa --- /dev/null +++ b/cypress.json @@ -0,0 +1,4 @@ +{ + "baseUrl": "http://localhost:3000", + "video": false +} \ No newline at end of file diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json new file mode 100644 index 0000000..da18d93 --- /dev/null +++ b/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} \ No newline at end of file diff --git a/cypress/integration/spec.js b/cypress/integration/spec.js new file mode 100644 index 0000000..9a7140d --- /dev/null +++ b/cypress/integration/spec.js @@ -0,0 +1,19 @@ +describe('Sapper template app', () => { + beforeEach(() => { + cy.visit('/') + }); + + it('has the correct

', () => { + cy.contains('h1', 'Great success!') + }); + + it('navigates to /about', () => { + cy.get('nav a').contains('about').click(); + cy.url().should('include', '/about'); + }); + + it('navigates to /blog', () => { + cy.get('nav a').contains('blog').click(); + cy.url().should('include', '/blog'); + }); +}); \ No newline at end of file diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js new file mode 100644 index 0000000..fd170fb --- /dev/null +++ b/cypress/plugins/index.js @@ -0,0 +1,17 @@ +// *********************************************************** +// This example plugins/index.js can be used to load plugins +// +// You can change the location of this file or turn off loading +// the plugins file with the 'pluginsFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/plugins-guide +// *********************************************************** + +// This function is called when a project is opened or re-opened (e.g. due to +// the project's config changing) + +module.exports = (on, config) => { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config +} diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 0000000..c1f5a77 --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add("login", (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This is will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/cypress/support/index.js b/cypress/support/index.js new file mode 100644 index 0000000..d68db96 --- /dev/null +++ b/cypress/support/index.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/package.json b/package.json new file mode 100644 index 0000000..87f7da1 --- /dev/null +++ b/package.json @@ -0,0 +1,31 @@ +{ + "name": "TODO", + "description": "TODO", + "version": "0.0.1", + "scripts": { + "dev": "sapper dev", + "build": "sapper build", + "export": "sapper export", + "start": "node build", + "cy:run": "cypress run", + "cy:open": "cypress open", + "test": "run-p --race dev cy:run" + }, + "dependencies": { + "compression": "^1.7.1", + "polka": "^0.4.0", + "sapper": "^0.17.0", + "sirv": "^0.2.0" + }, + "devDependencies": { + "@ampproject/rollup-plugin-closure-compiler": "^0.6.1", + "npm-run-all": "^4.1.2", + "rollup": "^0.64.1", + "rollup-plugin-commonjs": "^9.1.6", + "rollup-plugin-node-resolve": "^3.3.0", + "rollup-plugin-replace": "^2.0.0", + "rollup-plugin-svelte": "^4.2.1", + "rollup-plugin-terser": "^1.0.1", + "svelte": "^2.0.0" + } +} diff --git a/rollup/client.config.js b/rollup/client.config.js new file mode 100644 index 0000000..b21f725 --- /dev/null +++ b/rollup/client.config.js @@ -0,0 +1,34 @@ +import resolve from 'rollup-plugin-node-resolve'; +import replace from 'rollup-plugin-replace'; +import commonjs from 'rollup-plugin-commonjs'; +import svelte from 'rollup-plugin-svelte'; +import { terser } from 'rollup-plugin-terser'; +import config from 'sapper/rollup.js'; +import pkg from '../package.json'; + +const mode = process.env.NODE_ENV; +const dev = mode === 'development'; +const prod = !dev; + +export default { + input: config.client.input(), + output: config.client.output(), + plugins: [ + resolve(), + replace({ + 'process.browser': true, + 'process.env.NODE_ENV': JSON.stringify(mode) + }), + commonjs(), + svelte({ + dev, + hydratable: true + }), + + prod && terser() + ], + external: Object.keys(pkg.dependencies).concat( + require('module').builtinModules + ), + experimentalCodeSplitting: true +}; \ No newline at end of file diff --git a/rollup/server.config.js b/rollup/server.config.js new file mode 100644 index 0000000..5152870 --- /dev/null +++ b/rollup/server.config.js @@ -0,0 +1,32 @@ +import resolve from 'rollup-plugin-node-resolve'; +import replace from 'rollup-plugin-replace'; +import commonjs from 'rollup-plugin-commonjs'; +import svelte from 'rollup-plugin-svelte'; +import config from 'sapper/rollup.js'; +import pkg from '../package.json'; + +const mode = process.env.NODE_ENV; +const dev = mode === 'development'; +const prod = !dev; + +export default { + input: config.server.input(), + output: config.server.output(), + plugins: [ + resolve(), + replace({ + 'process.browser': true, + 'process.env.NODE_ENV': JSON.stringify(mode) + }), + commonjs(), + svelte({ + generate: 'ssr', + dev, + hydratable: true + }) + ], + external: Object.keys(pkg.dependencies).concat( + require('module').builtinModules + ), + experimentalCodeSplitting: true +}; \ No newline at end of file diff --git a/rollup/service-worker.config.js b/rollup/service-worker.config.js new file mode 100644 index 0000000..143cdbb --- /dev/null +++ b/rollup/service-worker.config.js @@ -0,0 +1,28 @@ +import resolve from 'rollup-plugin-node-resolve'; +import replace from 'rollup-plugin-replace'; +import commonjs from 'rollup-plugin-commonjs'; +import { terser } from 'rollup-plugin-terser'; +import config from 'sapper/rollup.js'; +import pkg from '../package.json'; + +const mode = process.env.NODE_ENV; +const dev = mode === 'development'; +const prod = !dev; + +export default { + input: config.serviceworker.input(), + output: config.serviceworker.output(), + plugins: [ + resolve(), + replace({ + 'process.browser': true, + 'process.env.NODE_ENV': JSON.stringify(mode) + }), + commonjs(), + prod && terser() + ], + external: Object.keys(pkg.dependencies).concat( + require('module').builtinModules + ), + experimentalCodeSplitting: true +}; \ No newline at end of file diff --git a/routes/_error.html b/routes/_error.html new file mode 100644 index 0000000..72b3395 --- /dev/null +++ b/routes/_error.html @@ -0,0 +1,29 @@ + + {status} + + +

{status}

+ +

{error.message}

+ + \ No newline at end of file diff --git a/routes/_layout.html b/routes/_layout.html new file mode 100644 index 0000000..efa6c15 --- /dev/null +++ b/routes/_layout.html @@ -0,0 +1,24 @@ +