diff --git a/README.md b/README.md
index 42ee791..160ae2a 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,13 @@
-
+
-### Build web products faster. Secure high-performance GraphQL
+# Super Graph - Fetch data without code!
[![GoDoc](https://img.shields.io/badge/godoc-reference-5272B4.svg)](https://pkg.go.dev/github.com/dosco/super-graph/core?tab=doc)
![Apache 2.0](https://img.shields.io/github/license/dosco/super-graph.svg?style=flat-square)
![Docker build](https://img.shields.io/docker/cloud/build/dosco/super-graph.svg?style=flat-square)
-![Cloud native](https://img.shields.io/badge/cloud--native-enabled-blue.svg?style=flat-squareg)
[![Discord Chat](https://img.shields.io/discord/628796009539043348.svg)](https://discord.gg/6pSWCTZ)
-## What's Super Graph?
-
-Designed to 100x your developer productivity. Super Graph will instantly, and without you writing any code, provide a high performance GraphQL API for your PostgresSQL DB. GraphQL queries are compiled into a single fast SQL query. Super Graph is a Go library and a service, use it in your own code or run it as a separate service.
+Super Graph gives you a high performance GraphQL API without you having to write any code. GraphQL is automatically compiled efficient an SQL query. Use it either as a library or a standalone service.
## Using it as a service
@@ -99,10 +96,9 @@ This compiler is what sits at the heart of Super Graph, with layers of useful fu
[supergraph.dev](https://supergraph.dev)
-## Contact me
+## Reach out
-I'm happy to help you deploy Super Graph so feel free to reach out over
-Twitter or Discord.
+We're happy to help you leverage Super Graph reach out if you have questions
[twitter/dosco](https://twitter.com/dosco)
diff --git a/docs/web/.firebase/hosting.YnVpbGQ.cache b/docs/web/.firebase/hosting.YnVpbGQ.cache
deleted file mode 100644
index d5764bc..0000000
--- a/docs/web/.firebase/hosting.YnVpbGQ.cache
+++ /dev/null
@@ -1,44 +0,0 @@
-01a106d5.45425859.js,1589699243685,7ee597df32dc6163edea35383043c7e5affb12525acb3250f92aa18157ab8e41
-0e384e19.c966bb5f.js,1589699243686,9164974b534f9d13eb10bc886326b474a864ff7c25321fa0c32caf925a3ff8c8
-1.af8653b0.js.LICENSE.txt,1589699243688,31b4d50dbbd144da150dcdcf0ccef8f6cf8b6b5204d5c9adde3b24466777fad5
-19.ef766447.js.LICENSE.txt,1589699243688,6ad95a8099127a8d42b5ace6d148064b1d3e922174f08d75d0ee2220ebeacd0b
-17896441.5684ca6e.js,1589699243686,c8e691ebe79676eb6b2b3698ed1cd86728e4c95496cf58d1cc6755e85918a98e
-20ac7829.9bb3271f.js,1589699243686,16da937e0bb8dbb763fbf21f522e060a3198be71d63bfc8189dd98abc31d7cd3
-1.af8653b0.js,1589699243685,aefea27951647727062707418a7a0c4d5eb8cd2d5689dbf678fcc33d4946c114
-3d9c95a4.30f9c3a4.js,1589699243686,03b36fbc4f4e5766926ab8fb359ae810b3b7c4b75962aafff3852bf59cb0d564
-2.1be29592.js,1589699243685,0ffd247a9710fa87b1950138e952853b441e0f2033a405658f127b5f2b6ddc86
-395f47e2.a8977250.js,1589699243686,fad9479ae57496cd96b3daf191197ec9899c9571bba4d35723a7a29e33468999
-404.html,1589699245974,29fed8e020e08f5cd49484cb9726c40af15927b2bb5fafcf48e3ccadabea7011
-9225b3a9.0ad4d27b.js,1589699243686,5a6bb09b0b56b1d14c482dc1423e2eca5128a23fd54ff0fd261865543225d8cf
-969d212d.ed395ee0.js,1589699243686,444b2a6c59ec2a0847279a4fed62b148c967fecae0b550433885f71ed5d9e13b
-741df2ae.d90d9bce.js,1589699243686,8a68c30fa75945a2bff9899a3447003bcfc33f3b46111d37842e1802ad6d3fca
-c4f5d8e4.47e70b85.js,1589699243688,6f986b48720724e7c8a715812b5f6625c71c8eca258bb4b410a447eb5da52734
-index.html,1589699245974,5ef227054c90bdae8a14962794213c61fc7f42997d3160d94245ee7bdf452136
-main.d3f35309.js.LICENSE.txt,1589699243688,1d906c3b83eacffe298d21eeb73e6e73e96310983224783d236195098e6765a7
-98ce8162.00124228.js,1589699243686,d109a5c0b42fa7f7753dfe95fddeca8db1520956f724e90219be70d1e40c18f2
-5043549d.9053b318.js,1589699243686,3e19828fe02c125eff01c388067ee2d817bdc6f963c063ff7d1be9fba440f658
-sitemap.xml,1589699245994,660ed269bf0306ba47ecdfb638e487147784d614c43c6c4a8e84194973baf183
-runtime~main.d7f4da56.js,1589699243688,cd5ff69f3764faa11ecee709103e5c26dba049249b1515bbecc273b2d93029eb
-99e04881.418b0a8a.js,1589699243688,e505422ed5eccf28ddd5854e4fd16f6b077487fcdc6f52f7ed627fe82c14fb8c
-styles.9155f1d2.js,1589699243686,f1e0863928710e67338dc88c37f47ef3ff164d36c4bba40d005561094c9c3284
-db32d859.49d90322.js,1589699243688,e800ed98ca5b6a8dcb800e1b8fd8fe57564e22a41899181f07147ae08a153f24
-docs/advanced/index.html,1589699245976,ab6b61096e496d22f1adfb1bdc294fb545bb54db499b52e9045188016c12e292
-docs/deploy/index.html,1589699245977,ce27d50cff9df77be6619d6f0482f07bfae49a304b9b17a9c80af367c920f94b
-docs/intro/index.html,1589699245976,80ed945c8498a1c5b71641e29345843d1cc99bef9acec16f528af752ab8ee864
-img/favicon.ico,1589699245977,2b1be326203e98c874caeccc5609bd91673e0b7a264755f1f0d2957e7660f194
-img/logo.svg,1589699245974,d108e7f5528a41276aaa7e8f6d9c78dcb225bcf28da3b6a08f4e9b1ade1f4afe
-docs/home/index.html,1589699245976,df36182a8c116c7deb59af12523ea2f3d51e10ef00c032ea292dc1a17a6ec900
-docs/react/index.html,1589699245977,c4885f2f74314bb480e075483b5728f8463435a8b8649bc55d05e7338da5c810
-docs/why/index.html,1589699245976,bf0dfb830b0493fbbf6c36aad042b12e4cd428f1dfd0964b2f4ff3482623213a
-docs/security/index.html,1589699245976,89bc70cccac39dbd88a4ad2102c92ae4f36abbc18dcf659056b7942a47471354
-img/undraw_docusaurus_tree.svg,1589699245977,758280ba37df78720811632ed897f4c07dd4ace6ee5065becc6d1438eb683435
-img/undraw_docusaurus_mountain.svg,1589699245977,60828880377c745a0e786d579b911ad2151b003b7f37cbacd8d93f2fab4a723c
-img/undraw_docusaurus_react.svg,1589699245977,f16125daf5cff5ca559ac704a7b045d8f690fd9b0cfecc373df5ce6057f50967
-styles.8ee0cad4.css,1589699243685,34b2e79c5c5b1f7afda4376e422e8ccb2c3c04213ca09d788f0c68ecf153d6e6
-docs/config/index.html,1589699245974,99c855271ba075a42b1dd4715efcbdc8d00ef144c13af4cfb2be1c777bfd8342
-docs/start/index.html,1589699245977,c6c7f8802ca0829e49e4175aacb07efdde2d5da40a382eeb60904b94e25f51c1
-docs/internals/index.html,1589699245977,843621574521a4279cdddf1876b2423e13e7dcbfac7a6ec84ef4a8cecb919dca
-docs/graphql/index.html,1589699245977,5e2f017eb851d9ec16d653c1d8d168c4ac82f8da5a149e06430b5ae1f1342f2c
-main.d3f35309.js,1589699243688,5598cfa7357fe3568e5b49ee43ff7ccbcb60c4d332f68eaefa7eaaefa940d68d
-19.ef766447.js,1589699243688,6e4dba7738df95cd4ca714ad8bc09bb69519d151f7863096da6020acd0e5719f
-server.bundle.js,1589699245973,d9399c5dbc34b494ce999825ef453de3cdd32847a00089165176cb5c6dfc63e6
diff --git a/docs/web/static/img/favicon.ico b/docs/web/static/img/favicon.ico
deleted file mode 100644
index be74abd..0000000
Binary files a/docs/web/static/img/favicon.ico and /dev/null differ
diff --git a/docs/web/static/img/logo.svg b/docs/web/static/img/logo.svg
deleted file mode 100644
index 9db6d0d..0000000
--- a/docs/web/static/img/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/web/static/img/undraw_docusaurus_mountain.svg b/docs/web/static/img/undraw_docusaurus_mountain.svg
deleted file mode 100644
index 431cef2..0000000
--- a/docs/web/static/img/undraw_docusaurus_mountain.svg
+++ /dev/null
@@ -1,170 +0,0 @@
-
diff --git a/docs/web/static/img/undraw_docusaurus_react.svg b/docs/web/static/img/undraw_docusaurus_react.svg
deleted file mode 100644
index e417050..0000000
--- a/docs/web/static/img/undraw_docusaurus_react.svg
+++ /dev/null
@@ -1,169 +0,0 @@
-
diff --git a/docs/web/static/img/undraw_docusaurus_tree.svg b/docs/web/static/img/undraw_docusaurus_tree.svg
deleted file mode 100644
index a05cc03..0000000
--- a/docs/web/static/img/undraw_docusaurus_tree.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/website/.firebase/hosting.YnVpbGQ.cache b/docs/website/.firebase/hosting.YnVpbGQ.cache
new file mode 100644
index 0000000..6c966bf
--- /dev/null
+++ b/docs/website/.firebase/hosting.YnVpbGQ.cache
@@ -0,0 +1,41 @@
+0e384e19.bc97038f.js,1589756749060,098da569a72fb34a077f0e411b009ccdcc0e98c04a1a403a952bbea6a51aa195
+01a106d5.e6fa2a6a.js,1589756749060,7ee597df32dc6163edea35383043c7e5affb12525acb3250f92aa18157ab8e41
+1.1c32171f.js.LICENSE.txt,1589756749064,31b4d50dbbd144da150dcdcf0ccef8f6cf8b6b5204d5c9adde3b24466777fad5
+19.fdfbe826.js.LICENSE.txt,1589756749064,6ad95a8099127a8d42b5ace6d148064b1d3e922174f08d75d0ee2220ebeacd0b
+17896441.183211f5.js,1589756749060,7736db62d7498a8d3a10a617b1bdfac08c8f29dc03329f4ad3320f2571c223c0
+20ac7829.c04b4a1e.js,1589756749060,5b95f479848ccd6959630d4a24bd551d0dbc74457911e9b6f3498655bfaf8ea7
+404.html,1589756750606,fe7e6a0f354000328576c9a2d8794d55dae6de0a9883e2f9dda7be4c91aa8f2a
+1.1c32171f.js,1589756749061,5441b74bfad9f5a37ba0e6123621c73c3e3b9064bda6b9dcf62fdb7381bf8e41
+395f47e2.9ce46e61.js,1589756749060,fad9479ae57496cd96b3daf191197ec9899c9571bba4d35723a7a29e33468999
+2.8f12478f.js,1589756749061,3ac7ca0df8fca86145f5decbd86c8adfbc6b5b11a5be96fc96cc9bc33d6306e6
+3d9c95a4.5f37b350.js,1589756749061,9458017327095622c54f0716951d83affe3149089f7dc56025627d979255bf43
+969d212d.82b6da9d.js,1589756749061,444b2a6c59ec2a0847279a4fed62b148c967fecae0b550433885f71ed5d9e13b
+c4f5d8e4.47e70b85.js,1589756749064,6f986b48720724e7c8a715812b5f6625c71c8eca258bb4b410a447eb5da52734
+741df2ae.162c25b8.js,1589756749061,8a68c30fa75945a2bff9899a3447003bcfc33f3b46111d37842e1802ad6d3fca
+9225b3a9.a07e65fb.js,1589756749061,5a6bb09b0b56b1d14c482dc1423e2eca5128a23fd54ff0fd261865543225d8cf
+index.html,1589756750606,43c17105a27007e3368d4275ec5fd617eea945b78868c43c73ba32f74184cb62
+main.f771ef31.js.LICENSE.txt,1589756749064,1d906c3b83eacffe298d21eeb73e6e73e96310983224783d236195098e6765a7
+98ce8162.1704a8b8.js,1589756749061,d109a5c0b42fa7f7753dfe95fddeca8db1520956f724e90219be70d1e40c18f2
+sitemap.xml,1589756750623,660ed269bf0306ba47ecdfb638e487147784d614c43c6c4a8e84194973baf183
+99e04881.2a79a052.js,1589756749064,8f5258dd347ac81b78c9837f762d9f247607011dd16553f34c2031c4ccbd38ea
+runtime~main.82a8fb74.js,1589756749064,d921e2c431192f04f24dd17747b3f87ddc673c8ad16fd59a769dae8c1a37e23b
+5043549d.cb3b9121.js,1589756749061,3e19828fe02c125eff01c388067ee2d817bdc6f963c063ff7d1be9fba440f658
+styles.9155f1d2.js,1589756749060,f1e0863928710e67338dc88c37f47ef3ff164d36c4bba40d005561094c9c3284
+db32d859.d7e74c54.js,1589756749064,e800ed98ca5b6a8dcb800e1b8fd8fe57564e22a41899181f07147ae08a153f24
+docs/advanced/index.html,1589756750609,9f7260c581cb4e71c46896af29c537e0fb02fac3228d4a991435bdf995f542e8
+docs/deploy/index.html,1589756750609,555db8271ebd923ff2ffebe51ade18aa2f7f78650bd9d358fdcd8fb2eecd8de3
+docs/home/index.html,1589756750609,5b095aec72d5e0a50aac298598c1b27964656d67db94097dc1c8e0bfac4c59b9
+docs/react/index.html,1589756750609,bea10eea368d0ae5848e4dd34ccd0215b1fef58940768dd2d9c8fad246aee172
+img/super-graph-logo.svg,1589756750606,648bfe286ee36b88ad9accf8cda7eb016c8fe3c0aa7fe6777856ac1e2dac9b32
+docs/intro/index.html,1589756750609,f9eefab7ad7aefec779dc43f2ee17df1cb5c1edd8878e723bf3c136c18468f9a
+docs/why/index.html,1589756750609,7e4ecb00fc6fb663f826e424c3f09727fbafa5323e1de71ea178946a9584eae2
+docs/security/index.html,1589756750609,a612631d3364369d079780ed377b84d1570a15233ab4ed66392ffc7248eaf4fa
+styles.8ee0cad4.css,1589756749060,34b2e79c5c5b1f7afda4376e422e8ccb2c3c04213ca09d788f0c68ecf153d6e6
+docs/config/index.html,1589756750609,964692badbdd80f41ab481b4753046ec17583692b57843becadb18c84bc5fa52
+docs/start/index.html,1589756750609,8b6da7abe0dc0bacb97c6ba04e9b63d0de47c7d8c7db51b1b1d03c3fad740043
+img/favicon.png,1589756750610,1a9ddda9df7e965340c2b5fdfc9b1f76ec11c2fcc800ec7908ca8827f3c95741
+docs/internals/index.html,1589756750607,d69ff057c545f868959dc8d54c577947d6c25ea982d992d377646eaffbef255c
+docs/graphql/index.html,1589756750609,f8c7f0f5d5566eca1f8ae39b941aee0ed82adc52ce50dc922982de8d02d2a59a
+main.f771ef31.js,1589756749064,2dcb5a6634b787512f51a25f69f7f862f027548def31c5c79894ffff7375c59a
+19.fdfbe826.js,1589756749064,b8abb73aea5fc0aa50d7e8b8bd38984e3b3aec62de2faf66fb3e55fd1428f8a7
+server.bundle.js,1589756750606,aceff68a47f9236060259eca732a163a2e660e59f43195289cafba2abd244165
diff --git a/docs/web/.gitignore b/docs/website/.gitignore
similarity index 100%
rename from docs/web/.gitignore
rename to docs/website/.gitignore
diff --git a/docs/web/README.md b/docs/website/README.md
similarity index 100%
rename from docs/web/README.md
rename to docs/website/README.md
diff --git a/docs/web/docs/advanced.md b/docs/website/docs/advanced.md
similarity index 100%
rename from docs/web/docs/advanced.md
rename to docs/website/docs/advanced.md
diff --git a/docs/web/docs/config.md b/docs/website/docs/config.md
similarity index 100%
rename from docs/web/docs/config.md
rename to docs/website/docs/config.md
diff --git a/docs/web/docs/deploy.md b/docs/website/docs/deploy.md
similarity index 76%
rename from docs/web/docs/deploy.md
rename to docs/website/docs/deploy.md
index 1985d26..89ae01b 100644
--- a/docs/web/docs/deploy.md
+++ b/docs/website/docs/deploy.md
@@ -1,71 +1,31 @@
---
id: deploy
title: How to deploy Super Graph
-sidebar_label: Deploy
+sidebar_label: Deploy to Prod.
---
Since you're reading this you're probably considering deploying Super Graph. You're in luck it's really easy and there are several ways to choose from. Keep in mind Super Graph can be used as a pre-built docker image or you can easily customize it and build your own docker image.
-:::note JWT tokens (Auth0, etc)
-When deploying on a subdomain and configure this service to use JWT authentication. You will need the public key file or secret key. Ensure your web app passes the JWT token with every GraphQL request (Cookie recommended). You will have to enable CORS headers in the config for cross domain requests to work.
+:::info JWT tokens (Auth0, etc)
+When deploying on a subdomain and configure this service to use JWT authentication. You will need the public key file or secret key. Ensure your web app passes the JWT token with every GraphQL request (Cookie recommended). You have to add the web domain to the `cors_allowed_origins` config option so CORS can allow the browser to do cross-domain ajax requests.
:::
-## Google Cloud Run
+## Google Cloud Run (Fully Managed)
-Use Google Cloud Build to build and deploy your Super Graph app to Google Cloud Run.
+Cloud Run is a fully managed compute platform for deploying and scaling containerized applications quickly and securely.
+Your Super Graph app comes with a `cloudbuild.yaml` file so it's really easy to use Google Cloud Build to build and deploy your Super Graph app to Google Cloud Run.
-```yaml file="cloudbuild.yaml"
-steps:
- # Build image with tag 'latest'
- - name: "gcr.io/cloud-builders/docker"
- args:
- [
- "build",
- "--tag",
- "gcr.io/$PROJECT_ID/api-service:latest",
- "--build-arg",
- "GO_ENV=production",
- ".",
- ]
+:::note
+Remember to give Cloud Build permission to deploy to Cloud Run first this can be done in the Cloud Build settings screen. Also the service account you use with Cloud Run must have the IAM permissions to connect to CloudSQL. https://cloud.google.com/sql/docs/postgres/connect-run
+:::
- # Push new image to Google Container Registry
- - name: "gcr.io/cloud-builders/docker"
- args: ["push", "gcr.io/$PROJECT_ID/api-service:latest"]
-
- # Deploy image to Cloud Run
- - name: "gcr.io/cloud-builders/gcloud"
- args:
- [
- "run",
- "deploy",
- "api-service",
- "--image",
- "gcr.io/$PROJECT_ID/api-service:latest",
- "--add-cloudsql-instances",
- "$PROJECT_ID:us-central1:$DB_NAME",
- "--region",
- "us-central1",
- "--platform",
- "managed",
- "--update-env-vars",
- "GO_ENV=production,SG_DATABASE_HOST=/cloudsql/$PROJECT_ID:us-central1:$DB_NAME,SECRETS_FILE=prod.secrets.yml",
- "--port",
- "8080",
- "--service-account",
- "$SERVICE_ACCOUNT",
- "--allow-unauthenticated",
- "--verbosity",
- "debug",
- ]
-```
-
-Use the command below to tell Cloud Build to build and deploy your app. Remember to give Cloud Build permission to deploy to Cloud Run first this can be done in the Cloud Build settings screen.
+Use the command below to tell Cloud Build to build and deploy your app.
```bash
-gcloud build submit --substitutions=DB_NAME=test_db,SERVICE_ACCOUNT=admin@my-project.iam.gserviceaccount.com
+gcloud build submit --substitutions=SERVICE_ACCOUNT=admin@my-project.iam.gserviceaccount.com,REGION=us-central1 .
```
-:::note Secrets Management
+:::info Secrets Management
Your secrets like the database password should be managed by the Mozilla SOPS app. This is a secrets management app that encrypts all your secrets and stores them in a file to be decrypted in production using the Cloud KMS (Google Cloud KMS Or Amazon KMS). Our cloud build file above expects the secrets file to be `config/prod.secrets.yml`. You can find more information on Mozilla SOPS on their site. https://github.com/mozilla/sops
:::
diff --git a/docs/web/docs/graphql.md b/docs/website/docs/graphql.md
similarity index 100%
rename from docs/web/docs/graphql.md
rename to docs/website/docs/graphql.md
diff --git a/docs/web/docs/home.md b/docs/website/docs/home.md
similarity index 89%
rename from docs/web/docs/home.md
rename to docs/website/docs/home.md
index d5d21a3..24a9ceb 100644
--- a/docs/web/docs/home.md
+++ b/docs/website/docs/home.md
@@ -1,12 +1,20 @@
---
id: home
-title: Super Graph - Fetch data without code!
+title: Super Graph
sidebar_label: Home
---
+import useBaseUrl from '@docusaurus/useBaseUrl'; // Add to the top of the file below the front matter.
+
+;
+
+## Fetch data without code!
+
### Stop strugging with ORM's and complex SQL just to fetch the data you need. Instead try asking nicely with GraphQL.
-80% of all web app development is reading or writing to a database. 100x your productivity and save valuable time by making that super simple.
+:::info
+80% of all web app development is either reading from or writing to a database. 100x your developer productivity and save valuable time by making that super simple.
+:::
```graphql
query {
diff --git a/docs/web/docs/internals.md b/docs/website/docs/internals.md
similarity index 100%
rename from docs/web/docs/internals.md
rename to docs/website/docs/internals.md
diff --git a/docs/web/docs/intro.md b/docs/website/docs/intro.md
similarity index 100%
rename from docs/web/docs/intro.md
rename to docs/website/docs/intro.md
diff --git a/docs/web/docs/react.md b/docs/website/docs/react.md
similarity index 100%
rename from docs/web/docs/react.md
rename to docs/website/docs/react.md
diff --git a/docs/web/docs/security.md b/docs/website/docs/security.md
similarity index 100%
rename from docs/web/docs/security.md
rename to docs/website/docs/security.md
diff --git a/docs/web/docs/start.md b/docs/website/docs/start.md
similarity index 100%
rename from docs/web/docs/start.md
rename to docs/website/docs/start.md
diff --git a/docs/web/docs/why.md b/docs/website/docs/why.md
similarity index 100%
rename from docs/web/docs/why.md
rename to docs/website/docs/why.md
diff --git a/docs/web/docusaurus.config.js b/docs/website/docusaurus.config.js
similarity index 89%
rename from docs/web/docusaurus.config.js
rename to docs/website/docusaurus.config.js
index 0ffaaa0..c2b5600 100644
--- a/docs/web/docusaurus.config.js
+++ b/docs/website/docusaurus.config.js
@@ -3,7 +3,7 @@ module.exports = {
tagline: "Fetch data without code",
url: "https://supergraph.dev",
baseUrl: "/",
- favicon: "img/favicon.ico",
+ favicon: "img/favicon.svg",
organizationName: "dosco", // Usually your GitHub org/user name.
projectName: "super-graph", // Usually your repo name.
themeConfig: {
@@ -11,7 +11,7 @@ module.exports = {
title: "Super Graph",
logo: {
alt: "Super Graph Logo",
- src: "img/logo.svg",
+ src: "img/favicon.png",
},
links: [
{
@@ -35,6 +35,11 @@ module.exports = {
href: "https://twitter.com/dosco",
position: "left",
},
+ {
+ label: "Art Compute",
+ href: "https://artcompute.com/s/super-graph",
+ position: "left",
+ },
],
},
footer: {
diff --git a/docs/web/firebase.json b/docs/website/firebase.json
similarity index 100%
rename from docs/web/firebase.json
rename to docs/website/firebase.json
diff --git a/docs/web/package.json b/docs/website/package.json
similarity index 100%
rename from docs/web/package.json
rename to docs/website/package.json
diff --git a/docs/web/sidebars.js b/docs/website/sidebars.js
similarity index 100%
rename from docs/web/sidebars.js
rename to docs/website/sidebars.js
diff --git a/docs/web/src/css/custom.css b/docs/website/src/css/custom.css
similarity index 100%
rename from docs/web/src/css/custom.css
rename to docs/website/src/css/custom.css
diff --git a/docs/web/src/pages/index.js b/docs/website/src/pages/index.js
similarity index 100%
rename from docs/web/src/pages/index.js
rename to docs/website/src/pages/index.js
diff --git a/docs/web/src/pages/styles.module.css b/docs/website/src/pages/styles.module.css
similarity index 100%
rename from docs/web/src/pages/styles.module.css
rename to docs/website/src/pages/styles.module.css
diff --git a/docs/website/static/img/favicon.png b/docs/website/static/img/favicon.png
new file mode 100644
index 0000000..c140e13
Binary files /dev/null and b/docs/website/static/img/favicon.png differ
diff --git a/docs/website/static/img/super-graph-logo.svg b/docs/website/static/img/super-graph-logo.svg
new file mode 100644
index 0000000..de77d6f
--- /dev/null
+++ b/docs/website/static/img/super-graph-logo.svg
@@ -0,0 +1,12 @@
+
+
\ No newline at end of file
diff --git a/docs/web/yarn.lock b/docs/website/yarn.lock
similarity index 100%
rename from docs/web/yarn.lock
rename to docs/website/yarn.lock
diff --git a/internal/serv/cmd_new.go b/internal/serv/cmd_new.go
index 3557db7..fd4bfbf 100644
--- a/internal/serv/cmd_new.go
+++ b/internal/serv/cmd_new.go
@@ -50,6 +50,14 @@ func cmdNew(cmd *cobra.Command, args []string) {
}
})
+ ifNotExists(path.Join(appPath, "cloudbuild.yaml"), func(p string) error {
+ if v, err := tmpl.get("cloudbuild.yaml"); err == nil {
+ return ioutil.WriteFile(p, v, 0644)
+ } else {
+ return err
+ }
+ })
+
// Create app config folder and add relevant files
appConfigPath := path.Join(appPath, "config")
diff --git a/internal/serv/rice-box.go b/internal/serv/rice-box.go
index b8f3cdf..4b7aac9 100644
--- a/internal/serv/rice-box.go
+++ b/internal/serv/rice-box.go
@@ -23,24 +23,30 @@ func init() {
Content: string("FROM dosco/super-graph:latest\nWORKDIR /\n\nCOPY config/* /config/"),
}
file4 := &embedded.EmbeddedFile{
- Filename: "dev.yml",
- FileModTime: time.Unix(1586976289, 0),
+ Filename: "cloudbuild.yaml",
+ FileModTime: time.Unix(1589749247, 0),
- Content: string("app_name: \"{% app_name %} Development\"\nhost_port: 0.0.0.0:8080\nweb_ui: true\n\n# debug, error, warn, info\nlog_level: \"info\"\n\n# enable or disable http compression (uses gzip)\nhttp_compress: true\n\n# When production mode is 'true' only queries \n# from the allow list are permitted.\n# When it's 'false' all queries are saved to the\n# the allow list in ./config/allow.list\nproduction: false\n\n# Throw a 401 on auth failure for queries that need auth\nauth_fail_block: false\n\n# Latency tracing for database queries and remote joins\n# the resulting latency information is returned with the\n# response\nenable_tracing: true\n\n# Watch the config folder and reload Super Graph\n# with the new configs when a change is detected\nreload_on_config_change: true\n\n# File that points to the database seeding script\n# seed_file: seed.js\n\n# Path pointing to where the migrations can be found\n# this must be a relative path under the config path\nmigrations_path: ./migrations\n\n# Secret key for general encryption operations like \n# encrypting the cursor data\nsecret_key: supercalifajalistics\n\n# CORS: A list of origins a cross-domain request can be executed from. \n# If the special * value is present in the list, all origins will be allowed. \n# An origin may contain a wildcard (*) to replace 0 or more \n# characters (i.e.: http://*.domain.com).\ncors_allowed_origins: [\"*\"]\n\n# Debug Cross Origin Resource Sharing requests\ncors_debug: false\n\n# Postgres related environment Variables\n# SG_DATABASE_HOST\n# SG_DATABASE_PORT\n# SG_DATABASE_USER\n# SG_DATABASE_PASSWORD\n\n# Auth related environment Variables\n# SG_AUTH_RAILS_COOKIE_SECRET_KEY_BASE\n# SG_AUTH_RAILS_REDIS_URL\n# SG_AUTH_RAILS_REDIS_PASSWORD\n# SG_AUTH_JWT_PUBLIC_KEY_FILE\n\n# inflections:\n# person: people\n# sheep: sheep\n\nauth:\n # Can be 'rails', 'jwt' or 'header'\n type: rails\n cookie: _{% app_name_slug %}_session\n\n # Comment this out if you want to disable setting\n # the user_id via a header for testing. \n # Disable in production\n creds_in_header: true\n\n rails:\n # Rails version this is used for reading the\n # various cookies formats.\n version: 5.2\n\n # Found in 'Rails.application.config.secret_key_base'\n secret_key_base: 0a248500a64c01184edb4d7ad3a805488f8097ac761b76aaa6c17c01dcb7af03a2f18ba61b2868134b9c7b79a122bc0dadff4367414a2d173297bfea92be5566\n\n # Remote cookie store. (memcache or redis)\n # url: redis://redis:6379\n # password: \"\"\n # max_idle: 80\n # max_active: 12000\n\n # In most cases you don't need these\n # salt: \"encrypted cookie\"\n # sign_salt: \"signed encrypted cookie\"\n # auth_salt: \"authenticated encrypted cookie\"\n\n # jwt:\n # provider: auth0\n # secret: abc335bfcfdb04e50db5bb0a4d67ab9\n # public_key_file: /secrets/public_key.pem\n # public_key_type: ecdsa #rsa\n\n # header:\n # name: dnt\n # exists: true\n # value: localhost:8080\n\n# You can add additional named auths to use with actions\n# In this example actions using this auth can only be\n# called from the Google Appengine Cron service that\n# sets a special header to all it's requests\nauths:\n - name: from_taskqueue\n type: header\n header:\n name: X-Appengine-Cron\n exists: true\n\ndatabase:\n type: postgres\n host: db\n port: 5432\n dbname: {% app_name_slug %}_development\n user: postgres\n password: postgres\n\n #schema: \"public\"\n #pool_size: 10\n #max_retries: 0\n #log_level: \"debug\"\n\n # Set session variable \"user.id\" to the user id\n # Enable this if you need the user id in triggers, etc\n set_user_id: false\n\n # database ping timeout is used for db health checking\n ping_timeout: 1m\n\n # Set up an secure tls encrypted db connection\n enable_tls: false\n\n # Required for tls. For example with Google Cloud SQL it's\n # :\"\n # server_name: blah\n\n # Required for tls. Can be a file path or the contents of the pem file\n # server_cert: ./server-ca.pem\n\n # Required for tls. Can be a file path or the contents of the pem file\n # client_cert: ./client-cert.pem\n\n # Required for tls. Can be a file path or the contents of the pem file\n # client_key: ./client-key.pem\n\n# Define additional variables here to be used with filters\nvariables:\n #admin_account_id: \"5\"\n admin_account_id: \"sql:select id from users where admin = true limit 1\"\n\n\n# Field and table names that you wish to block\nblocklist:\n - ar_internal_metadata\n - schema_migrations\n - secret\n - password\n - encrypted\n - token\n\n# Create custom actions with their own api endpoints\n# For example the below action will be available at /api/v1/actions/refresh_leaderboard_users\n# A request to this url will execute the configured SQL query\n# which in this case refreshes a materialized view in the database.\n# The auth_name is from one of the configured auths\nactions:\n - name: refresh_leaderboard_users\n sql: REFRESH MATERIALIZED VIEW CONCURRENTLY \"leaderboard_users\"\n auth_name: from_taskqueue\n\ntables:\n - name: customers\n remotes:\n - name: payments\n id: stripe_id\n url: http://rails_app:3000/stripe/$id\n path: data\n # debug: true\n pass_headers: \n - cookie\n set_headers:\n - name: Host\n value: 0.0.0.0\n # - name: Authorization\n # value: Bearer \n\n - # You can create new fields that have a\n # real db table backing them\n name: me\n table: users\n\n\n#roles_query: \"SELECT\u00a0* FROM users WHERE id = $user_id\"\n\nroles:\n - name: anon\n tables:\n - name: users\n query:\n limit: 10\n\n - name: user\n tables:\n - name: users\n query:\n filters: [\"{ id: { _eq: $user_id } }\"]\n\n - name: products\n query:\n limit: 50\n filters: [\"{ user_id: { eq: $user_id } }\"]\n disable_functions: false\n\n insert:\n filters: [\"{ user_id: { eq: $user_id } }\"]\n presets:\n - user_id: \"$user_id\"\n - created_at: \"now\"\n \n update:\n filters: [\"{ user_id: { eq: $user_id } }\"]\n presets:\n - updated_at: \"now\"\n\n delete:\n block: true\n\n # - name: admin\n # match: id = 1000\n # tables:\n # - name: users\n # filters: []\n"),
+ Content: string("steps:\n # Build image with tag 'latest'\n - name: \"gcr.io/cloud-builders/docker\"\n args:\n [\n \"build\",\n \"--tag\",\n \"gcr.io/$PROJECT_ID/{% app_name_slug %}:latest\",\n \"--build-arg\",\n \"GO_ENV=production\",\n \".\",\n ]\n\n # Push new image to Google Container Registry\n - name: \"gcr.io/cloud-builders/docker\"\n args: [\"push\", \"gcr.io/$PROJECT_ID/{% app_name_slug %}:latest\"]\n\n # Deploy image to Cloud Run\n - name: \"gcr.io/cloud-builders/gcloud\"\n args:\n [\n \"run\",\n \"deploy\",\n \"data\",\n \"--image\",\n \"gcr.io/$PROJECT_ID/{% app_name_slug %}:latest\",\n \"--add-cloudsql-instances\",\n \"$PROJECT_ID:$REGION:{% app_name_slug %}_production\",\n \"--region\",\n \"$REGION\",\n \"--platform\",\n \"managed\",\n \"--update-env-vars\",\n \"GO_ENV=production,SG_DATABASE_HOST=/cloudsql/$PROJECT_ID:$REGION:{% app_name_slug %}_production,SECRETS_FILE=prod.secrets.yml\",\n \"--port\",\n \"8080\",\n \"--service-account\",\n \"$SERVICE_ACCOUNT\",\n \"--allow-unauthenticated\",\n \"--verbosity\",\n \"debug\",\n ]\n"),
}
file5 := &embedded.EmbeddedFile{
+ Filename: "dev.yml",
+ FileModTime: time.Unix(1587739518, 0),
+
+ Content: string("app_name: \"{% app_name %} Development\"\nhost_port: 0.0.0.0:8080\nweb_ui: true\n\n# debug, error, warn, info\nlog_level: \"info\"\n\n# enable or disable http compression (uses gzip)\nhttp_compress: true\n\n# When production mode is 'true' only queries \n# from the allow list are permitted.\n# When it's 'false' all queries are saved to the\n# the allow list in ./config/allow.list\nproduction: false\n\n# Throw a 401 on auth failure for queries that need auth\nauth_fail_block: false\n\n# Latency tracing for database queries and remote joins\n# the resulting latency information is returned with the\n# response\nenable_tracing: true\n\n# Watch the config folder and reload Super Graph\n# with the new configs when a change is detected\nreload_on_config_change: true\n\n# File that points to the database seeding script\n# seed_file: seed.js\n\n# Path pointing to where the migrations can be found\n# this must be a relative path under the config path\nmigrations_path: ./migrations\n\n# Secret key for general encryption operations like \n# encrypting the cursor data\nsecret_key: supercalifajalistics\n\n# CORS: A list of origins a cross-domain request can be executed from. \n# If the special * value is present in the list, all origins will be allowed. \n# An origin may contain a wildcard (*) to replace 0 or more \n# characters (i.e.: http://*.domain.com).\ncors_allowed_origins: [\"*\"]\n\n# Debug Cross Origin Resource Sharing requests\ncors_debug: false\n\n# Default API path prefix is /api you can change it if you like\n# api_path: \"/data\"\n\n# Cache-Control header can help cache queries if your CDN supports cache-control \n# on POST requests (does not work with not mutations) \n# cache_control: \"public, max-age=300, s-maxage=600\"\n\n# Postgres related environment Variables\n# SG_DATABASE_HOST\n# SG_DATABASE_PORT\n# SG_DATABASE_USER\n# SG_DATABASE_PASSWORD\n\n# Auth related environment Variables\n# SG_AUTH_RAILS_COOKIE_SECRET_KEY_BASE\n# SG_AUTH_RAILS_REDIS_URL\n# SG_AUTH_RAILS_REDIS_PASSWORD\n# SG_AUTH_JWT_PUBLIC_KEY_FILE\n\n# inflections:\n# person: people\n# sheep: sheep\n\nauth:\n # Can be 'rails', 'jwt' or 'header'\n type: rails\n cookie: _{% app_name_slug %}_session\n\n # Comment this out if you want to disable setting\n # the user_id via a header for testing. \n # Disable in production\n creds_in_header: true\n\n rails:\n # Rails version this is used for reading the\n # various cookies formats.\n version: 5.2\n\n # Found in 'Rails.application.config.secret_key_base'\n secret_key_base: 0a248500a64c01184edb4d7ad3a805488f8097ac761b76aaa6c17c01dcb7af03a2f18ba61b2868134b9c7b79a122bc0dadff4367414a2d173297bfea92be5566\n\n # Remote cookie store. (memcache or redis)\n # url: redis://redis:6379\n # password: \"\"\n # max_idle: 80\n # max_active: 12000\n\n # In most cases you don't need these\n # salt: \"encrypted cookie\"\n # sign_salt: \"signed encrypted cookie\"\n # auth_salt: \"authenticated encrypted cookie\"\n\n # jwt:\n # provider: auth0\n # secret: abc335bfcfdb04e50db5bb0a4d67ab9\n # public_key_file: /secrets/public_key.pem\n # public_key_type: ecdsa #rsa\n\n # header:\n # name: dnt\n # exists: true\n # value: localhost:8080\n\n# You can add additional named auths to use with actions\n# In this example actions using this auth can only be\n# called from the Google Appengine Cron service that\n# sets a special header to all it's requests\nauths:\n - name: from_taskqueue\n type: header\n header:\n name: X-Appengine-Cron\n exists: true\n\ndatabase:\n type: postgres\n host: db\n port: 5432\n dbname: {% app_name_slug %}_development\n user: postgres\n password: postgres\n\n #schema: \"public\"\n #pool_size: 10\n #max_retries: 0\n #log_level: \"debug\"\n\n # Set session variable \"user.id\" to the user id\n # Enable this if you need the user id in triggers, etc\n set_user_id: false\n\n # database ping timeout is used for db health checking\n ping_timeout: 1m\n\n # Set up an secure tls encrypted db connection\n enable_tls: false\n\n # Required for tls. For example with Google Cloud SQL it's\n # :\"\n # server_name: blah\n\n # Required for tls. Can be a file path or the contents of the pem file\n # server_cert: ./server-ca.pem\n\n # Required for tls. Can be a file path or the contents of the pem file\n # client_cert: ./client-cert.pem\n\n # Required for tls. Can be a file path or the contents of the pem file\n # client_key: ./client-key.pem\n\n# Define additional variables here to be used with filters\nvariables:\n #admin_account_id: \"5\"\n admin_account_id: \"sql:select id from users where admin = true limit 1\"\n\n\n# Field and table names that you wish to block\nblocklist:\n - ar_internal_metadata\n - schema_migrations\n - secret\n - password\n - encrypted\n - token\n\n# Create custom actions with their own api endpoints\n# For example the below action will be available at /api/v1/actions/refresh_leaderboard_users\n# A request to this url will execute the configured SQL query\n# which in this case refreshes a materialized view in the database.\n# The auth_name is from one of the configured auths\nactions:\n - name: refresh_leaderboard_users\n sql: REFRESH MATERIALIZED VIEW CONCURRENTLY \"leaderboard_users\"\n auth_name: from_taskqueue\n\ntables:\n - name: customers\n remotes:\n - name: payments\n id: stripe_id\n url: http://rails_app:3000/stripe/$id\n path: data\n # debug: true\n pass_headers: \n - cookie\n set_headers:\n - name: Host\n value: 0.0.0.0\n # - name: Authorization\n # value: Bearer \n\n - # You can create new fields that have a\n # real db table backing them\n name: me\n table: users\n\n\n#roles_query: \"SELECT\u00a0* FROM users WHERE id = $user_id\"\n\nroles:\n - name: anon\n tables:\n - name: users\n query:\n limit: 10\n\n - name: user\n tables:\n - name: users\n query:\n filters: [\"{ id: { _eq: $user_id } }\"]\n\n - name: products\n query:\n limit: 50\n filters: [\"{ user_id: { eq: $user_id } }\"]\n disable_functions: false\n\n insert:\n filters: [\"{ user_id: { eq: $user_id } }\"]\n presets:\n - user_id: \"$user_id\"\n - created_at: \"now\"\n \n update:\n filters: [\"{ user_id: { eq: $user_id } }\"]\n presets:\n - updated_at: \"now\"\n\n delete:\n block: true\n\n # - name: admin\n # match: id = 1000\n # tables:\n # - name: users\n # filters: []\n"),
+ }
+ file6 := &embedded.EmbeddedFile{
Filename: "docker-compose.yml",
FileModTime: time.Unix(1582491326, 0),
Content: string("version: '3.4'\nservices:\n # Postgres DB\n db:\n image: postgres:12\n environment:\n POSTGRES_USER: postgres\n POSTGRES_PASSWORD: postgres\n ports:\n - \"5432:5432\"\n\n # Yugabyte DB\n # yb-master: \n # image: yugabytedb/yugabyte:latest \n # container_name: yb-master-n1 \n # command: [ \"/home/yugabyte/bin/yb-master\", \n # \"--fs_data_dirs=/mnt/disk0,/mnt/disk1\", \n # \"--master_addresses=yb-master-n1:7100\", \n # \"--replication_factor=1\", \n # \"--enable_ysql=true\"] \n # ports: \n # - \"7000:7000\" \n # environment: \n # SERVICE_7000_NAME: yb-master \n \n # db: \n # image: yugabytedb/yugabyte:latest \n # container_name: yb-tserver-n1 \n # command: [ \"/home/yugabyte/bin/yb-tserver\", \n # \"--fs_data_dirs=/mnt/disk0,/mnt/disk1\", \n # \"--start_pgsql_proxy\", \n # \"--tserver_master_addrs=yb-master-n1:7100\"] \n # ports: \n # - \"9042:9042\" \n # - \"6379:6379\" \n # - \"5433:5433\" \n # - \"9000:9000\" \n # environment: \n # SERVICE_5433_NAME: ysql \n # SERVICE_9042_NAME: ycql \n # SERVICE_6379_NAME: yedis \n # SERVICE_9000_NAME: yb-tserver \n # depends_on: \n # - yb-master\n\n {% app_name_slug %}_api:\n image: dosco/super-graph:latest\n environment:\n GO_ENV: \"development\"\n # Uncomment below for Yugabyte DB\n # SG_DATABASE_PORT: 5433\n # SG_DATABASE_USER: yugabyte\n # SG_DATABASE_PASSWORD: yugabyte\n volumes:\n - ./config:/config\n ports:\n - \"8080:8080\"\n depends_on:\n - db"),
}
- file6 := &embedded.EmbeddedFile{
- Filename: "prod.yml",
- FileModTime: time.Unix(1587233305, 0),
-
- Content: string("# Inherit config from this other config file\n# so I only need to overwrite some values\ninherits: dev\n\napp_name: \"{% app_name %} Production\"\nhost_port: 0.0.0.0:8080\nweb_ui: false\n\n# debug, error, warn, info\nlog_level: \"warn\"\n\n# enable or disable http compression (uses gzip)\nhttp_compress: true\n\n# When production mode is 'true' only queries \n# from the allow list are permitted.\n# When it's 'false' all queries are saved to the\n# the allow list in ./config/allow.list\nproduction: true\n\n# Throw a 401 on auth failure for queries that need auth\nauth_fail_block: true\n\n# Latency tracing for database queries and remote joins\n# the resulting latency information is returned with the\n# response\nenable_tracing: false\n\n# Watch the config folder and reload Super Graph\n# with the new configs when a change is detected\nreload_on_config_change: false\n\n# File that points to the database seeding script\n# seed_file: seed.js\n\n# Path pointing to where the migrations can be found\n# migrations_path: ./migrations\n\n# Secret key for general encryption operations like \n# encrypting the cursor data\n# secret_key: supercalifajalistics\n\n# CORS: A list of origins a cross-domain request can be executed from. \n# If the special * value is present in the list, all origins will be allowed. \n# An origin may contain a wildcard (*) to replace 0 or more \n# characters (i.e.: http://*.domain.com).\n# cors_allowed_origins: [\"*\"]\n\n# Debug Cross Origin Resource Sharing requests\n# cors_debug: false\n\n# Postgres related environment Variables\n# SG_DATABASE_HOST\n# SG_DATABASE_PORT\n# SG_DATABASE_USER\n# SG_DATABASE_PASSWORD\n\n# Auth related environment Variables\n# SG_AUTH_RAILS_COOKIE_SECRET_KEY_BASE\n# SG_AUTH_RAILS_REDIS_URL\n# SG_AUTH_RAILS_REDIS_PASSWORD\n# SG_AUTH_JWT_PUBLIC_KEY_FILE\n\ndatabase:\n type: postgres\n host: db\n port: 5432\n dbname: {% app_name_slug %}_production\n user: postgres\n password: postgres\n #pool_size: 10\n #max_retries: 0\n #log_level: \"debug\" \n\n # Set session variable \"user.id\" to the user id\n # Enable this if you need the user id in triggers, etc\n set_user_id: false\n\n # database ping timeout is used for db health checking\n ping_timeout: 5m\n\n # Set up an secure tls encrypted db connection\n enable_tls: false\n\n # Required for tls. For example with Google Cloud SQL it's\n # :\"\n # server_name: blah\n\n # Required for tls. Can be a file path or the contents of the pem file\n # server_cert: ./server-ca.pem\n\n # Required for tls. Can be a file path or the contents of the pem file\n # client_cert: ./client-cert.pem\n\n # Required for tls. Can be a file path or the contents of the pem file\n # client_key: ./client-key.pem"),
- }
file7 := &embedded.EmbeddedFile{
+ Filename: "prod.yml",
+ FileModTime: time.Unix(1587739523, 0),
+
+ Content: string("# Inherit config from this other config file\n# so I only need to overwrite some values\ninherits: dev\n\napp_name: \"{% app_name %} Production\"\nhost_port: 0.0.0.0:8080\nweb_ui: false\n\n# debug, error, warn, info\nlog_level: \"warn\"\n\n# enable or disable http compression (uses gzip)\nhttp_compress: true\n\n# When production mode is 'true' only queries \n# from the allow list are permitted.\n# When it's 'false' all queries are saved to the\n# the allow list in ./config/allow.list\nproduction: true\n\n# Throw a 401 on auth failure for queries that need auth\nauth_fail_block: true\n\n# Latency tracing for database queries and remote joins\n# the resulting latency information is returned with the\n# response\nenable_tracing: false\n\n# Watch the config folder and reload Super Graph\n# with the new configs when a change is detected\nreload_on_config_change: false\n\n# File that points to the database seeding script\n# seed_file: seed.js\n\n# Path pointing to where the migrations can be found\n# migrations_path: ./migrations\n\n# Secret key for general encryption operations like \n# encrypting the cursor data\n# secret_key: supercalifajalistics\n\n# CORS: A list of origins a cross-domain request can be executed from. \n# If the special * value is present in the list, all origins will be allowed. \n# An origin may contain a wildcard (*) to replace 0 or more \n# characters (i.e.: http://*.domain.com).\n# cors_allowed_origins: [\"*\"]\n\n# Debug Cross Origin Resource Sharing requests\n# cors_debug: false\n\n# Default API path prefix is /api you can change it if you like\n# api_path: \"/data\"\n\n# Cache-Control header can help cache queries if your CDN supports cache-control \n# on POST requests (does not work with not mutations) \n# cache_control: \"public, max-age=300, s-maxage=600\"\n\n# Postgres related environment Variables\n# SG_DATABASE_HOST\n# SG_DATABASE_PORT\n# SG_DATABASE_USER\n# SG_DATABASE_PASSWORD\n\n# Auth related environment Variables\n# SG_AUTH_RAILS_COOKIE_SECRET_KEY_BASE\n# SG_AUTH_RAILS_REDIS_URL\n# SG_AUTH_RAILS_REDIS_PASSWORD\n# SG_AUTH_JWT_PUBLIC_KEY_FILE\n\ndatabase:\n type: postgres\n host: db\n port: 5432\n dbname: {% app_name_slug %}_production\n user: postgres\n password: postgres\n #pool_size: 10\n #max_retries: 0\n #log_level: \"debug\" \n\n # Set session variable \"user.id\" to the user id\n # Enable this if you need the user id in triggers, etc\n set_user_id: false\n\n # database ping timeout is used for db health checking\n ping_timeout: 5m\n\n # Set up an secure tls encrypted db connection\n enable_tls: false\n\n # Required for tls. For example with Google Cloud SQL it's\n # :\"\n # server_name: blah\n\n # Required for tls. Can be a file path or the contents of the pem file\n # server_cert: ./server-ca.pem\n\n # Required for tls. Can be a file path or the contents of the pem file\n # client_cert: ./client-cert.pem\n\n # Required for tls. Can be a file path or the contents of the pem file\n # client_key: ./client-key.pem"),
+ }
+ file8 := &embedded.EmbeddedFile{
Filename: "seed.js",
FileModTime: time.Unix(1579668006, 0),
@@ -50,14 +56,15 @@ func init() {
// define dirs
dir1 := &embedded.EmbeddedDir{
Filename: "",
- DirModTime: time.Unix(1587233305, 0),
+ DirModTime: time.Unix(1589748001, 0),
ChildFiles: []*embedded.EmbeddedFile{
file2, // "0_init.sql"
file3, // "Dockerfile"
- file4, // "dev.yml"
- file5, // "docker-compose.yml"
- file6, // "prod.yml"
- file7, // "seed.js"
+ file4, // "cloudbuild.yaml"
+ file5, // "dev.yml"
+ file6, // "docker-compose.yml"
+ file7, // "prod.yml"
+ file8, // "seed.js"
},
}
@@ -68,17 +75,18 @@ func init() {
// register embeddedBox
embedded.RegisterEmbeddedBox(`./tmpl`, &embedded.EmbeddedBox{
Name: `./tmpl`,
- Time: time.Unix(1587233305, 0),
+ Time: time.Unix(1589748001, 0),
Dirs: map[string]*embedded.EmbeddedDir{
"": dir1,
},
Files: map[string]*embedded.EmbeddedFile{
"0_init.sql": file2,
"Dockerfile": file3,
- "dev.yml": file4,
- "docker-compose.yml": file5,
- "prod.yml": file6,
- "seed.js": file7,
+ "cloudbuild.yaml": file4,
+ "dev.yml": file5,
+ "docker-compose.yml": file6,
+ "prod.yml": file7,
+ "seed.js": file8,
},
})
}
@@ -86,97 +94,97 @@ func init() {
func init() {
// define files
- file9 := &embedded.EmbeddedFile{
+ filea := &embedded.EmbeddedFile{
Filename: "asset-manifest.json",
FileModTime: time.Unix(1587503374, 0),
Content: string("{\n \"files\": {\n \"main.css\": \"/static/css/main.d4fa22d6.chunk.css\",\n \"main.js\": \"/static/js/main.55a8068a.chunk.js\",\n \"main.js.map\": \"/static/js/main.55a8068a.chunk.js.map\",\n \"runtime-main.js\": \"/static/js/runtime-main.3ce8a40d.js\",\n \"runtime-main.js.map\": \"/static/js/runtime-main.3ce8a40d.js.map\",\n \"static/js/2.660c567d.chunk.js\": \"/static/js/2.660c567d.chunk.js\",\n \"static/js/2.660c567d.chunk.js.map\": \"/static/js/2.660c567d.chunk.js.map\",\n \"index.html\": \"/index.html\",\n \"precache-manifest.cf56ad15e4cdbe76d4cebd621a25f8a9.js\": \"/precache-manifest.cf56ad15e4cdbe76d4cebd621a25f8a9.js\",\n \"service-worker.js\": \"/service-worker.js\",\n \"static/css/main.d4fa22d6.chunk.css.map\": \"/static/css/main.d4fa22d6.chunk.css.map\",\n \"static/js/2.660c567d.chunk.js.LICENSE.txt\": \"/static/js/2.660c567d.chunk.js.LICENSE.txt\",\n \"static/media/logo.png\": \"/static/media/logo.57ee3b60.png\"\n },\n \"entrypoints\": [\n \"static/js/runtime-main.3ce8a40d.js\",\n \"static/js/2.660c567d.chunk.js\",\n \"static/css/main.d4fa22d6.chunk.css\",\n \"static/js/main.55a8068a.chunk.js\"\n ]\n}"),
}
- filea := &embedded.EmbeddedFile{
+ fileb := &embedded.EmbeddedFile{
Filename: "favicon.ico",
FileModTime: time.Unix(1587503329, 0),
Content: string("\x00\x00\x01\x00\x03\x0000\x00\x00\x01\x00 \x00\xa8%\x00\x006\x00\x00\x00 \x00\x00\x01\x00 \x00\xa8\x10\x00\x00\xde%\x00\x00\x10\x10\x00\x00\x01\x00 \x00h\x04\x00\x00\x866\x00\x00(\x00\x00\x000\x00\x00\x00`\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\f\xaeRW\x18\xaeRW&\xaeRW3\xaeRW>\xaeRWG\xaeRWM\xaeRWP\xaeRWP\xaeRWM\xaeRWG\xaeRW>\xaeRW3\xaeRW&\xaeRW\x18\xaeRW\f\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW*\xaeRWT\xaeRW\u007f\xaeRW\xa4\xaeRW\xc1\xaeRWծRW\xe2\xaeRW\xeb\xaeRW\xf1\xaeRW\xf4\xaeRW\xf6\xaeRW\xf7\xaeRW\xf7\xaeRW\xf6\xaeRW\xf4\xaeRW\xf1\xaeRW\xeb\xaeRW\xe2\xaeRWծRW\xc1\xaeRW\xa4\xaeRW\u007f\xaeRWT\xaeRW*\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW=\xaeRW\x81\xaeRW\xbe\xaeRW\xe4\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xf7\xaeRW\xe4\xaeRW\xbe\xaeRW\x81\xaeRW<\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRW[\xaeRW\xb8\xaeRW\xed\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfd\xaeRW\xed\xaeRW\xb8\xaeRW[\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW,\xaeRW\xaf\xaeRW\xf6\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf6\xaeRW\xaf\xaeRW+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1e\xaeRWŮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRWĮRW\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWi\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWi\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfc\xaeRW\xf7\xaeRW\xee\xaeRW\xe3\xaeRWخRW̮RW®RW\xbb\xaeRW\xb7\xaeRW\xb5\xaeRW\xb5\xaeRW\xb7\xaeRW\xbc\xaeRW®RW̮RWخRW\xe3\xaeRW\xee\xaeRW\xf7\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xf7\xaeRW\xe2\xaeRW\xbf\xaeRW\x97\xaeRWq\xaeRWQ\xaeRW8\xaeRW&\xaeRW\x1a\xaeRW\x12\xaeRW\f\xaeRW\t\xaeRW\a\xaeRW\a\xaeRW\a\xaeRW\a\xaeRW\t\xaeRW\f\xaeRW\x12\xaeRW\x1a\xaeRW&\xaeRW8\xaeRWQ\xaeRWq\xaeRW\x97\xaeRW\xbf\xaeRW\xe2\xaeRW\xf7\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfd\xaeRW\xf9\xaeRW\u05eeRW\x99\xaeRWX\xaeRW'\xaeRW\f\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRV\x01\xaeRW\f\xaeRW'\xaeRWX\xaeRW\x99\xaeRW\u05eeRW\xf9\xaeRW\xfd\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x81\xaeRW\xfb\xaeRW®RWe\xaeRW\x1e\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x06\xaeRW\x12\xaeRW!\xaeRW1\xaeRW?\xaeRWL\xaeRWU\xaeRW[\xaeRW_\xaeRW_\xaeRW[\xaeRWU\xaeRWL\xaeRW?\xaeRW1\xaeRW!\xaeRW\x12\xaeRW\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\x1e\xaeRWf\xaeRW®RW\xfb\xaeRW\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWa\xaeRWl\xaeRW\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRV\x01\xaeRW\x12\xaeRW5\xaeRWb\xaeRW\x8d\xaeRW\xb1\xaeRW̮RWޮRW\xea\xaeRW\xf1\xaeRW\xf6\xaeRW\xf8\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf8\xaeRW\xf6\xaeRW\xf1\xaeRW\xea\xaeRWޮRW̮RW\xb1\xaeRW\x8d\xaeRWb\xaeRW5\xaeRW\x12\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x12\xaeRWl\xaeRWa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\a\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x11\xaeRWI\xaeRW\x8f\xaeRWɮRW\xeb\xaeRW\xfa\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfa\xaeRW\xeb\xaeRWɮRW\x8f\xaeRWI\xaeRW\x11\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x13\xaeRWh\xaeRWĮRW\xf2\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xfe\xaeRW\xf2\xaeRWĮRWh\xaeRW\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW4\xaeRW\xbb\xaeRW\xf9\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xf9\xaeRW\xba\xaeRW4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW#\xaeRW̮RW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW̮RW#\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWl\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWl\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfb\xaeRW\xf3\xaeRW\xe9\xaeRWܮRWϮRWîRW\xb9\xaeRW\xb1\xaeRW\xac\xaeRW\xa9\xaeRW\xa9\xaeRW\xac\xaeRW\xb1\xaeRW\xb9\xaeRWîRWϮRWܮRW\xe9\xaeRW\xf3\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfe\xaeRW\xf4\xaeRWۮRW\xb5\xaeRW\x8b\xaeRWe\xaeRWE\xaeRW/\xaeRW\x1f\xaeRW\x14\xaeRW\r\xaeRW\b\xaeRW\x05\xaeRW\x04\xaeRW\x03\xaeRW\x03\xaeRW\x04\xaeRW\x05\xaeRW\b\xaeRW\r\xaeRW\x14\xaeRW\x1f\xaeRW/\xaeRWE\xaeRWe\xaeRW\x8b\xaeRW\xb5\xaeRWۮRW\xf4\xaeRW\xfe\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRWϮRW\x8e\xaeRWL\xaeRW \xaeRW\a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW \xaeRWM\xaeRW\x8e\xaeRWЮRW\xf6\xaeRW\xfd\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x82\xaeRW\xf8\xaeRW\xb8\xaeRW[\xaeRW\x18\xaeQW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQV\x01\xaeRW\b\xaeRW\x16\xaeRW'\xaeRW8\xaeRWH\xaeRWV\xaeRWa\xaeRWh\xaeRWk\xaeRWl\xaeRWi\xaeRWc\xaeRWY\xaeRWL\xaeRW<\xaeRW+\xaeRW\x19\xaeRW\v\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQV\x01\xaeRW\x18\xaeRW[\xaeRW\xb8\xaeRW\xf8\xaeRW\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\\\xaeRWa\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\x16\xaeRW<\xaeRWi\xaeRW\x94\xaeRW\xb8\xaeRWҮRW\xe3\xaeRW\xee\xaeRW\xf4\xaeRW\xf8\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xf9\xaeRW\xf6\xaeRW\xf0\xaeRW\xe6\xaeRW֮RW\xbe\xaeRW\x9b\xaeRWp\xaeRWA\xaeRW\x19\xaeRW\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRWa\xaeRW\\\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW\x01\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x17\xaeRWS\xaeRW\x9a\xaeRWЮRW\xef\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xf1\xaeRWԮRW\x9d\xaeRWV\xaeRW\x18\xaeQV\x01\x00\x00\x00\x00\xaeRW\x01\xaeRW\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x18\xaeRWr\xaeRW̮RW\xf6\xaeRW\xfe\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xf6\xaeRWήRWv\xaeRW\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW:\xaeRW®RW\xfa\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfb\xaeRWŮRW=\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW&\xaeRWѮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRWӮRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWo\xaeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRWo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\u007f\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\u007f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x80\xaeRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfe\xaeRW\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWi\xaeRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWŮRW\xfe\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xc1\xaeRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW,\xaeRW\xb0\xaeRW\xf6\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf5\xaeRW\xaa\xaeRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0e\xaeRW[\xaeRW\xb9\xaeRW\xed\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xec\xaeRW\xb5\xaeRWW\xaeRW\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW=\xaeRW\x82\xaeRW\xbe\xaeRW\xe5\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf5\xaeRW\xe1\xaeRW\xba\xaeRW~\xaeRW;\xaeRW\v\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\f\xaeRW+\xaeRWT\xaeRW\u007f\xaeRW\xa4\xaeRW\xc1\xaeRW֮RW\xe3\xaeRW\xec\xaeRW\xf1\xaeRW\xf5\xaeRW\xf6\xaeRW\xf7\xaeRW\xf7\xaeRW\xf6\xaeRW\xf4\xaeRW\xf1\xaeRW\xeb\xaeRW\xe1\xaeRWӮRW\xbd\xaeRW\x9f\xaeRWx\xaeRWM\xaeRW&\xaeRW\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRW\f\xaeRW\x19\xaeRW&\xaeRW3\xaeRW>\xaeRWH\xaeRWN\xaeRWP\xaeRWP\xaeRWM\xaeRWF\xaeRW>\xaeRW2\xaeRW$\xaeRW\x17\xaeRW\n\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xfe\x00\x00\u007f\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x03\xff\xff\xc0\x1f\x00\x00\xf8?\xff\xff\xfc\x1f\x00\x00\xf1\xff\xff\xff\xff\x8f\x00\x00\xff\xfc\x00\x00?\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x03\xff\xff\xc0\x1f\x00\x00\xf8?\xff\xff\xfc\x1f\x00\x00\xf1\xff\xff\xff\xff\x8f\x00\x00\xff\xfc\x00\x00?\xff\x00\x00\xff\xc0\x00\x00\x03\xff\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf0\x00\x00\x00\x00\x0f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xf8\x00\x00\x00\x00\x1f\x00\x00\xfc\x00\x00\x00\x00?\x00\x00\xff\x00\x00\x00\x00\xff\x00\x00\xff\xc0\x00\x00\a\xff\x00\x00\xff\xfe\x00\x00\u007f\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00(\x00\x00\x00 \x00\x00\x00@\x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x04\xaeRW\n\xaeRW\x0e\xaeRW\x10\xaeRW\x10\xaeRW\x0e\xaeRW\n\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\r\xaeRW,\xaeRWS\xaeRWw\xaeRW\x95\xaeRW\xaa\xaeRW\xb9\xaeRW\xc1\xaeRWŮRWŮRW\xc1\xaeRW\xb9\xaeRW\xaa\xaeRW\x95\xaeRWw\xaeRWS\xaeRW,\xaeRW\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW3\xaeRW\u007f\xaeRW\xc0\xaeRW\xe6\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf7\xaeRW\xe6\xaeRW\xc0\xaeRW\u007f\xaeRW3\xaeRW\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1b\xaeRW\x92\xaeRW\xe7\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfd\xaeRW\xfd\xaeRW\xe7\xaeRW\x91\xaeRW\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW\xa2\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xa2\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1d\xaeRWܮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWܮRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfc\xaeRW\xfe\xaeRW\xfb\xaeRW\xef\xaeRWڮRWîRW\xad\xaeRW\x9a\xaeRW\x8c\xaeRW\x83\xaeRW\x80\xaeRW\x80\xaeRW\x83\xaeRW\x8c\xaeRW\x9a\xaeRW\xad\xaeRWîRWڮRW\xef\xaeRW\xfb\xaeRW\xfe\xaeRW\xfc\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRW߮RW\xfd\xaeRW\xe0\xaeRW\xa8\xaeRWk\xaeRW;\xaeRW\x1c\xaeRW\t\xaeQV\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeQW\x01\xaeRW\t\xaeRW\x1c\xaeRW;\xaeRWk\xaeRW\xa8\xaeRW\xe0\xaeRW\xfd\xaeRW߮RW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRW\xbc\xaeRW}\xaeRW'\xaeRW\x03\x00\x00\x00\x00\xaeRW\a\xaeRW\x1f\xaeRW<\xaeRWW\xaeRWm\xaeRW}\xaeRW\x88\xaeRW\x8d\xaeRW\x8d\xaeRW\x88\xaeRW}\xaeRWm\xaeRWW\xaeRW<\xaeRW\x1f\xaeRW\a\x00\x00\x00\x00\xaeRW\x03\xaeRW'\xaeRW}\xaeRW\xbc\xaeRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\n\xaeRW\x1d\xaeQW\x01\xaeRW\x0e\xaeRWC\xaeRW\x86\xaeRW\xbb\xaeRWݮRW\xf0\xaeRW\xf8\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xf8\xaeRW\xf0\xaeRWݮRW\xbb\xaeRW\x86\xaeRWC\xaeRW\x0e\xaeRW\x01\xaeRW\x1d\xaeRW\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRWX\xaeRW\xbf\xaeRW\xf1\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xf1\xaeRW\xbe\xaeRWX\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x02\xaeRWz\xaeRW\xf3\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf3\xaeRWz\xaeRW\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x19\xaeRW\u05eeRW\xfd\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\u05eeRW\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRW\xeb\xaeRWޮRWҮRWǮRW\xc0\xaeRW\xbd\xaeRW\xbd\xaeRW\xc0\xaeRWǮRWҮRWޮRW\xeb\xaeRW\xf6\xaeRW\xfd\xaeRW\xfe\xaeRW\xfc\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xff\xaeRW\xf8\xaeRWڮRW\xaa\xaeRWx\xaeRWO\xaeRW2\xaeRW\x1f\xaeRW\x12\xaeRW\v\xaeRW\a\xaeRW\x05\xaeRW\x05\xaeRW\a\xaeRW\v\xaeRW\x12\xaeRW\x1f\xaeRW2\xaeRWO\xaeRWx\xaeRW\xaa\xaeRWڮRW\xf8\xaeRW\xff\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW \xaeRW֮RW\xb9\xaeRW^\xaeRW\x1e\xaeRW\x03\x00\x00\x00\x00\xaeRW\x01\xaeRW\r\xaeRW\x1f\xaeRW0\xaeRW>\xaeRWH\xaeRWL\xaeRWM\xaeRWI\xaeRW@\xaeRW2\xaeRW!\xaeRW\x0f\xaeRW\x02\x00\x00\x00\x00\xaeRW\x03\xaeRW\x1e\xaeRW^\xaeRW\xb9\xaeRW֮RW \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x12\xaeRWH\xaeRW\r\x00\x00\x00\x00\xaeRW\x15\xaeRWF\xaeRW{\xaeRW\xa9\xaeRWɮRWޮRW\xea\xaeRW\xf1\xaeRW\xf5\xaeRW\xf6\xaeRW\xf6\xaeRW\xf5\xaeRW\xf2\xaeRW\xec\xaeRW\xe0\xaeRWͮRW\xad\xaeRW\x80\xaeRWI\xaeRW\x16\x00\x00\x00\x00\xaeRW\r\xaeRWH\xaeRW\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW&\xaeRW\x83\xaeRWϮRW\xf2\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfc\xaeRW\xfd\xaeRW\xfe\xaeRW\xfd\xaeRW\xf3\xaeRWЮRW\x86\xaeRW(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWL\xaeRW֮RW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfd\xaeRW\xfd\xaeRWخRWN\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x13\xaeRWɮRW\xff\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xff\xaeRWʮRW\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1f\xaeRWݮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWݮRW\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1d\xaeRWܮRW\xfc\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRWܮRW\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\b\xaeRW\xa2\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfc\xaeRW\xfe\xaeRW\xa0\xaeRW\b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1b\xaeRW\x92\xaeRW\xe7\xaeRW\xfd\xaeRW\xfd\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfd\xaeRW\xe6\xaeRW\x8e\xaeRW\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x05\xaeRW3\xaeRW\x80\xaeRW\xc0\xaeRW\xe6\xaeRW\xf7\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfd\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfd\xaeRW\xf6\xaeRW\xe4\xaeRW\xbe\xaeRW~\xaeRW1\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\r\xaeRW,\xaeRWS\xaeRWx\xaeRW\x95\xaeRW\xab\xaeRW\xb9\xaeRW®RWŮRWŮRW\xc1\xaeRW\xb8\xaeRW\xa9\xaeRW\x93\xaeRWt\xaeRWN\xaeRW)\xaeRW\f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x04\xaeRW\n\xaeRW\x0e\xaeRW\x10\xaeRW\x10\xaeRW\x0e\xaeRW\t\xaeRW\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xe0\a\xff\xfe\x00\x00\u007f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe1\xff\xff\x87\xef\xfc?\xf7\xfe\x00\x00\u007f\xf8\x00\x00\x1f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\xff\xff\a\xe7\xff\xff\xe7\xff\x80\x00\xff\xf8\x00\x00\x1f\xf0\x00\x00\x0f\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xe0\x00\x00\a\xf0\x00\x00\x0f\xfc\x00\x00\u007f\xff\xe0\a\xff\xff\xff\xff\xff(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x10\xaeRW3\xaeRWW\xaeRWo\xaeRW{\xaeRW{\xaeRWo\xaeRWW\xaeRW3\xaeRW\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0f\xaeRWl\xaeRW\xbf\xaeRW\xe5\xaeRW\xf4\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf4\xaeRW\xe5\xaeRW\xbf\xaeRWl\xaeRW\x0f\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWf\xaeRW\xfa\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xfa\xaeRWf\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfe\xaeRW\xfe\xaeRW\xfb\xaeRW\xf7\xaeRW\xf5\xaeRW\xf5\xaeRW\xf7\xaeRW\xfb\xaeRW\xfe\xaeRW\xfe\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xeb\xaeRW\xb4\xaeRW\x83\xaeRWe\xaeRWV\xaeRWQ\xaeRWQ\xaeRWV\xaeRWe\xaeRW\x83\xaeRW\xb4\xaeRW\xeb\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW:\xaeRWF\xaeRWF\xaeRWp\xaeRW\x95\xaeRW\xaa\xaeRW\xb4\xaeRW\xb4\xaeRW\xaa\xaeRW\x95\xaeRWp\xaeRWF\xaeRWF\xaeRW:\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW)\xaeRW\xb0\xaeRW\xee\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xee\xaeRW\xb0\xaeRW)\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWx\xaeRW\xff\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfc\xaeRW\xfd\xaeRW\xfd\xaeRW\xfc\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xff\xaeRWx\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfb\xaeRW\xef\xaeRW߮RWҮRWˮRWˮRWҮRW߮RW\xef\xaeRW\xfb\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWt\xaeRW\xb8\xaeRWl\xaeRWG\xaeRW?\xaeRWB\xaeRWE\xaeRWF\xaeRWC\xaeRW@\xaeRWH\xaeRWl\xaeRW\xb8\xaeRWt\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x1c\xaeRWC\xaeRW\x81\xaeRW\xb7\xaeRW֮RW\xe4\xaeRW\xea\xaeRW\xea\xaeRW\xe5\xaeRW\u05eeRW\xb9\xaeRW\x83\xaeRWD\xaeRW\x1c\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWK\xaeRW\xe4\xaeRW\xfe\xaeRW\xfe\xaeRW\xfc\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfb\xaeRW\xfc\xaeRW\xfe\xaeRW\xfe\xaeRW\xe5\xaeRWL\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW~\xaeRW\xff\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xff\xaeRW~\x00\x00\x00\x00\x00\x00\x00\x00\xaeRWf\xaeRW\xfa\xaeRW\xfe\xaeRW\xfb\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfa\xaeRW\xfb\xaeRW\xfe\xaeRW\xf9\xaeRWf\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x0f\xaeRWl\xaeRW\xbf\xaeRW\xe5\xaeRW\xf4\xaeRW\xf9\xaeRW\xfa\xaeRW\xfa\xaeRW\xf9\xaeRW\xf3\xaeRW\xe4\xaeRW\xbe\xaeRWk\xaeRW\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaeRW\x10\xaeRW4\xaeRWW\xaeRWp\xaeRW{\xaeRW{\xaeRWo\xaeRWU\xaeRW2\xaeRW\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xe0\a\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc7\xe3\x00\x00\xf8\x1f\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xdf\xfb\x00\x00\xe0\a\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xc0\x03\x00\x00\xe0\a\x00\x00\xff\xff\x00\x00"),
}
- fileb := &embedded.EmbeddedFile{
+ filec := &embedded.EmbeddedFile{
Filename: "index.html",
FileModTime: time.Unix(1587503374, 0),
Content: string("Super Graph - GraphQL API for Rails"),
}
- filec := &embedded.EmbeddedFile{
+ filed := &embedded.EmbeddedFile{
Filename: "manifest.json",
FileModTime: time.Unix(1587503329, 0),
Content: string("{\n \"short_name\": \"Super Graph\",\n \"name\": \"Super Graph - GraphQL API for Rails\",\n \"icons\": [\n {\n \"src\": \"favicon.ico\",\n \"sizes\": \"64x64 32x32 24x24 16x16\",\n \"type\": \"image/x-icon\"\n }\n ],\n \"start_url\": \".\",\n \"display\": \"standalone\",\n \"theme_color\": \"#000000\",\n \"background_color\": \"#ffffff\"\n}\n"),
}
- filed := &embedded.EmbeddedFile{
+ filee := &embedded.EmbeddedFile{
Filename: "precache-manifest.cf56ad15e4cdbe76d4cebd621a25f8a9.js",
FileModTime: time.Unix(1587503374, 0),
Content: string("self.__precacheManifest = (self.__precacheManifest || []).concat([\n {\n \"revision\": \"dd24b6ab0d5823ad93efd681af20c3af\",\n \"url\": \"/index.html\"\n },\n {\n \"revision\": \"ce055c1f214eb88c71e5\",\n \"url\": \"/static/css/main.d4fa22d6.chunk.css\"\n },\n {\n \"revision\": \"f79d286b3c55466899f3\",\n \"url\": \"/static/js/2.660c567d.chunk.js\"\n },\n {\n \"revision\": \"4044397a22b006229bd81c3fc79e2c09\",\n \"url\": \"/static/js/2.660c567d.chunk.js.LICENSE.txt\"\n },\n {\n \"revision\": \"ce055c1f214eb88c71e5\",\n \"url\": \"/static/js/main.55a8068a.chunk.js\"\n },\n {\n \"revision\": \"28c836c6390ca2244059\",\n \"url\": \"/static/js/runtime-main.3ce8a40d.js\"\n },\n {\n \"revision\": \"57ee3b6084cb9d3c754cc12d25a98035\",\n \"url\": \"/static/media/logo.57ee3b60.png\"\n }\n]);"),
}
- filee := &embedded.EmbeddedFile{
+ filef := &embedded.EmbeddedFile{
Filename: "service-worker.js",
FileModTime: time.Unix(1587503374, 0),
Content: string("/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app and you should\n * disable HTTP caching for this file too.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\nimportScripts(\"https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js\");\n\nimportScripts(\n \"/precache-manifest.cf56ad15e4cdbe76d4cebd621a25f8a9.js\"\n);\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\nworkbox.core.clientsClaim();\n\n/**\n * The workboxSW.precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nself.__precacheManifest = [].concat(self.__precacheManifest || []);\nworkbox.precaching.precacheAndRoute(self.__precacheManifest, {});\n\nworkbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL(\"/index.html\"), {\n \n blacklist: [/^\\/_/,/\\/[^/?]+\\.[^/]+$/],\n});\n"),
}
- fileh := &embedded.EmbeddedFile{
+ filei := &embedded.EmbeddedFile{
Filename: "static/css/main.d4fa22d6.chunk.css",
FileModTime: time.Unix(1587503374, 0),
Content: string("body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Roboto\",\"Oxygen\",\"Ubuntu\",\"Cantarell\",\"Fira Sans\",\"Droid Sans\",\"Helvetica Neue\",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#09141b}code{font-family:source-code-pro,Menlo,Monaco,Consolas,\"Courier New\",monospace}.playground>div:nth-child(2){height:calc(100vh - 131px)}\n/*# sourceMappingURL=main.d4fa22d6.chunk.css.map */"),
}
- filei := &embedded.EmbeddedFile{
+ filej := &embedded.EmbeddedFile{
Filename: "static/css/main.d4fa22d6.chunk.css.map",
FileModTime: time.Unix(1587503374, 0),
Content: string("{\"version\":3,\"sources\":[\"index.css\"],\"names\":[],\"mappings\":\"AAAA,KACE,QAAS,CACT,SAAU,CACV,mJAEY,CACZ,kCAAmC,CACnC,iCAAkC,CAClC,wBACF,CAEA,KACE,yEAEF,CAEA,6BACE,0BACF\",\"file\":\"main.d4fa22d6.chunk.css\",\"sourcesContent\":[\"body {\\n margin: 0;\\n padding: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", \\\"Roboto\\\", \\\"Oxygen\\\",\\n \\\"Ubuntu\\\", \\\"Cantarell\\\", \\\"Fira Sans\\\", \\\"Droid Sans\\\", \\\"Helvetica Neue\\\",\\n sans-serif;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n background-color: #09141b;\\n}\\n\\ncode {\\n font-family: source-code-pro, Menlo, Monaco, Consolas, \\\"Courier New\\\",\\n monospace;\\n}\\n\\n.playground > div:nth-child(2) {\\n height: calc(100vh - 131px);\\n}\\n\"]}"),
}
- filek := &embedded.EmbeddedFile{
+ filel := &embedded.EmbeddedFile{
Filename: "static/js/2.660c567d.chunk.js",
FileModTime: time.Unix(1587503374, 0),
Content: string("/*! For license information please see 2.660c567d.chunk.js.LICENSE.txt */\n(this.webpackJsonpweb=this.webpackJsonpweb||[]).push([[2],[function(e,t,n){\"use strict\";n.d(t,\"S\",(function(){return x})),n.d(t,\"x\",(function(){return E})),n.d(t,\"R\",(function(){return D})),n.d(t,\"w\",(function(){return C})),n.d(t,\"N\",(function(){return w})),n.d(t,\"u\",(function(){return S})),n.d(t,\"H\",(function(){return k})),n.d(t,\"o\",(function(){return A})),n.d(t,\"T\",(function(){return T})),n.d(t,\"y\",(function(){return _})),n.d(t,\"E\",(function(){return O})),n.d(t,\"l\",(function(){return F})),n.d(t,\"F\",(function(){return N})),n.d(t,\"m\",(function(){return I})),n.d(t,\"J\",(function(){return M})),n.d(t,\"q\",(function(){return j})),n.d(t,\"L\",(function(){return L})),n.d(t,\"s\",(function(){return P})),n.d(t,\"G\",(function(){return R})),n.d(t,\"n\",(function(){return B})),n.d(t,\"O\",(function(){return z})),n.d(t,\"v\",(function(){return U})),n.d(t,\"I\",(function(){return q})),n.d(t,\"p\",(function(){return V})),n.d(t,\"D\",(function(){return H})),n.d(t,\"k\",(function(){return W})),n.d(t,\"C\",(function(){return G})),n.d(t,\"j\",(function(){return K})),n.d(t,\"d\",(function(){return J})),n.d(t,\"e\",(function(){return Y})),n.d(t,\"U\",(function(){return Q})),n.d(t,\"z\",(function(){return $})),n.d(t,\"M\",(function(){return X})),n.d(t,\"t\",(function(){return Z})),n.d(t,\"B\",(function(){return ee})),n.d(t,\"K\",(function(){return te})),n.d(t,\"r\",(function(){return ne})),n.d(t,\"A\",(function(){return re})),n.d(t,\"g\",(function(){return ae})),n.d(t,\"f\",(function(){return se})),n.d(t,\"i\",(function(){return fe})),n.d(t,\"P\",(function(){return de})),n.d(t,\"c\",(function(){return he})),n.d(t,\"h\",(function(){return me})),n.d(t,\"a\",(function(){return ve})),n.d(t,\"b\",(function(){return ye})),n.d(t,\"Q\",(function(){return xe}));var r=n(52),i=n(2),o=n(35),a=n(59),s=n(41),u=n(7),c=n(29),l=n(55),p=n(27);function f(e){return e}var d=n(48),h=n(47),m=n(1),g=n(240);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;t0?e:void 0}J.prototype.toString=function(){return\"[\"+String(this.ofType)+\"]\"},Object(h.a)(J),Object(d.a)(J),Y.prototype.toString=function(){return String(this.ofType)+\"!\"},Object(h.a)(Y),Object(d.a)(Y);var ae=function(){function e(e){var t=e.parseValue||f;this.name=e.name,this.description=e.description,this.serialize=e.serialize||f,this.parseValue=t,this.parseLiteral=e.parseLiteral||function(e){return t(Object(g.a)(e))},this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\"),null==e.serialize||\"function\"===typeof e.serialize||Object(u.a)(0,\"\".concat(this.name,' must provide \"serialize\" function. If this custom Scalar is also used as an input type, ensure \"parseValue\" and \"parseLiteral\" functions are also provided.')),e.parseLiteral&&(\"function\"===typeof e.parseValue&&\"function\"===typeof e.parseLiteral||Object(u.a)(0,\"\".concat(this.name,' must provide both \"parseValue\" and \"parseLiteral\" functions.')))}var t=e.prototype;return t.toConfig=function(){return{name:this.name,description:this.description,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(ae),Object(d.a)(ae);var se=function(){function e(e){this.name=e.name,this.description=e.description,this.isTypeOf=e.isTypeOf,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=ce.bind(void 0,e),this._interfaces=ue.bind(void 0,e),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\"),null==e.isTypeOf||\"function\"===typeof e.isTypeOf||Object(u.a)(0,\"\".concat(this.name,' must provide \"isTypeOf\" as a function, ')+\"but got: \".concat(Object(i.a)(e.isTypeOf),\".\"))}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.getInterfaces=function(){return\"function\"===typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces},t.toConfig=function(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:pe(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function ue(e){var t=ie(e.interfaces)||[];return Array.isArray(t)||Object(u.a)(0,\"\".concat(e.name,\" interfaces must be an Array or a function which returns an Array.\")),t}function ce(e){var t=ie(e.fields)||{};return le(t)||Object(u.a)(0,\"\".concat(e.name,\" fields must be an object with field names as keys or a function which returns such an object.\")),Object(a.a)(t,(function(t,n){le(t)||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,\" field config must be an object\")),!(\"isDeprecated\"in t)||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,' should provide \"deprecationReason\" instead of \"isDeprecated\".')),null==t.resolve||\"function\"===typeof t.resolve||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,\" field resolver must be a function if \")+\"provided, but got: \".concat(Object(i.a)(t.resolve),\".\"));var o=t.args||{};le(o)||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,\" args must be an object with argument names as keys.\"));var a=Object(r.a)(o).map((function(e){var t=e[0],n=e[1];return{name:t,description:void 0===n.description?null:n.description,type:n.type,defaultValue:n.defaultValue,extensions:n.extensions&&Object(s.a)(n.extensions),astNode:n.astNode}}));return y({},t,{name:n,description:t.description,type:t.type,args:a,resolve:t.resolve,subscribe:t.subscribe,isDeprecated:Boolean(t.deprecationReason),deprecationReason:t.deprecationReason,extensions:t.extensions&&Object(s.a)(t.extensions),astNode:t.astNode})}))}function le(e){return Object(p.a)(e)&&!Array.isArray(e)}function pe(e){return Object(a.a)(e,(function(e){return{description:e.description,type:e.type,args:fe(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}))}function fe(e){return Object(c.a)(e,(function(e){return e.name}),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}))}function de(e){return L(e.type)&&void 0===e.defaultValue}Object(h.a)(se),Object(d.a)(se);var he=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=ce.bind(void 0,e),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\"),null==e.resolveType||\"function\"===typeof e.resolveType||Object(u.a)(0,\"\".concat(this.name,' must provide \"resolveType\" as a function, ')+\"but got: \".concat(Object(i.a)(e.resolveType),\".\"))}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){return{name:this.name,description:this.description,fields:pe(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(he),Object(d.a)(he);var me=function(){function e(e){this.name=e.name,this.description=e.description,this.resolveType=e.resolveType,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._types=ge.bind(void 0,e),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\"),null==e.resolveType||\"function\"===typeof e.resolveType||Object(u.a)(0,\"\".concat(this.name,' must provide \"resolveType\" as a function, ')+\"but got: \".concat(Object(i.a)(e.resolveType),\".\"))}var t=e.prototype;return t.getTypes=function(){return\"function\"===typeof this._types&&(this._types=this._types()),this._types},t.toConfig=function(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function ge(e){var t=ie(e.types)||[];return Array.isArray(t)||Object(u.a)(0,\"Must provide Array of types or a function which returns such an array for Union \".concat(e.name,\".\")),t}Object(h.a)(me),Object(d.a)(me);var ve=function(){function e(e){var t,n;this.name=e.name,this.description=e.description,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._values=(t=this.name,le(n=e.values)||Object(u.a)(0,\"\".concat(t,\" values must be an object with value names as keys.\")),Object(r.a)(n).map((function(e){var n=e[0],r=e[1];return le(r)||Object(u.a)(0,\"\".concat(t,\".\").concat(n,' must refer to an object with a \"value\" key ')+\"representing an internal value but got: \".concat(Object(i.a)(r),\".\")),!(\"isDeprecated\"in r)||Object(u.a)(0,\"\".concat(t,\".\").concat(n,' should provide \"deprecationReason\" instead of \"isDeprecated\".')),{name:n,description:r.description,value:\"value\"in r?r.value:n,isDeprecated:Boolean(r.deprecationReason),deprecationReason:r.deprecationReason,extensions:r.extensions&&Object(s.a)(r.extensions),astNode:r.astNode}}))),this._valueLookup=new Map(this._values.map((function(e){return[e.value,e]}))),this._nameLookup=Object(o.a)(this._values,(function(e){return e.name})),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\")}var t=e.prototype;return t.getValues=function(){return this._values},t.getValue=function(e){return this._nameLookup[e]},t.serialize=function(e){var t=this._valueLookup.get(e);if(t)return t.name},t.parseValue=function(e){if(\"string\"===typeof e){var t=this.getValue(e);if(t)return t.value}},t.parseLiteral=function(e,t){if(e.kind===m.a.ENUM){var n=this.getValue(e.value);if(n)return n.value}},t.toConfig=function(){var e=Object(c.a)(this.getValues(),(function(e){return e.name}),(function(e){return{description:e.description,value:e.value,deprecationReason:e.deprecationReason,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,values:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();Object(h.a)(ve),Object(d.a)(ve);var ye=function(){function e(e){this.name=e.name,this.description=e.description,this.extensions=e.extensions&&Object(s.a)(e.extensions),this.astNode=e.astNode,this.extensionASTNodes=oe(e.extensionASTNodes),this._fields=be.bind(void 0,e),\"string\"===typeof e.name||Object(u.a)(0,\"Must provide name.\")}var t=e.prototype;return t.getFields=function(){return\"function\"===typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){var e=Object(a.a)(this.getFields(),(function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,extensions:e.extensions,astNode:e.astNode}}));return{name:this.name,description:this.description,fields:e,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function be(e){var t=ie(e.fields)||{};return le(t)||Object(u.a)(0,\"\".concat(e.name,\" fields must be an object with field names as keys or a function which returns such an object.\")),Object(a.a)(t,(function(t,n){return!(\"resolve\"in t)||Object(u.a)(0,\"\".concat(e.name,\".\").concat(n,\" field has a resolve property, but Input Types cannot define resolvers.\")),y({},t,{name:n,description:t.description,type:t.type,defaultValue:t.defaultValue,extensions:t.extensions&&Object(s.a)(t.extensions),astNode:t.astNode})}))}function xe(e){return L(e.type)&&void 0===e.defaultValue}Object(h.a)(ye),Object(d.a)(ye)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return r}));var r=Object.freeze({NAME:\"Name\",DOCUMENT:\"Document\",OPERATION_DEFINITION:\"OperationDefinition\",VARIABLE_DEFINITION:\"VariableDefinition\",SELECTION_SET:\"SelectionSet\",FIELD:\"Field\",ARGUMENT:\"Argument\",FRAGMENT_SPREAD:\"FragmentSpread\",INLINE_FRAGMENT:\"InlineFragment\",FRAGMENT_DEFINITION:\"FragmentDefinition\",VARIABLE:\"Variable\",INT:\"IntValue\",FLOAT:\"FloatValue\",STRING:\"StringValue\",BOOLEAN:\"BooleanValue\",NULL:\"NullValue\",ENUM:\"EnumValue\",LIST:\"ListValue\",OBJECT:\"ObjectValue\",OBJECT_FIELD:\"ObjectField\",DIRECTIVE:\"Directive\",NAMED_TYPE:\"NamedType\",LIST_TYPE:\"ListType\",NON_NULL_TYPE:\"NonNullType\",SCHEMA_DEFINITION:\"SchemaDefinition\",OPERATION_TYPE_DEFINITION:\"OperationTypeDefinition\",SCALAR_TYPE_DEFINITION:\"ScalarTypeDefinition\",OBJECT_TYPE_DEFINITION:\"ObjectTypeDefinition\",FIELD_DEFINITION:\"FieldDefinition\",INPUT_VALUE_DEFINITION:\"InputValueDefinition\",INTERFACE_TYPE_DEFINITION:\"InterfaceTypeDefinition\",UNION_TYPE_DEFINITION:\"UnionTypeDefinition\",ENUM_TYPE_DEFINITION:\"EnumTypeDefinition\",ENUM_VALUE_DEFINITION:\"EnumValueDefinition\",INPUT_OBJECT_TYPE_DEFINITION:\"InputObjectTypeDefinition\",DIRECTIVE_DEFINITION:\"DirectiveDefinition\",SCHEMA_EXTENSION:\"SchemaExtension\",SCALAR_TYPE_EXTENSION:\"ScalarTypeExtension\",OBJECT_TYPE_EXTENSION:\"ObjectTypeExtension\",INTERFACE_TYPE_EXTENSION:\"InterfaceTypeExtension\",UNION_TYPE_EXTENSION:\"UnionTypeExtension\",ENUM_TYPE_EXTENSION:\"EnumTypeExtension\",INPUT_OBJECT_TYPE_EXTENSION:\"InputObjectTypeExtension\"})},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return o}));var r=n(104);function i(e){return(i=\"function\"===typeof Symbol&&\"symbol\"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function o(e){return a(e,[])}function a(e,t){switch(i(e)){case\"string\":return JSON.stringify(e);case\"function\":return e.name?\"[function \".concat(e.name,\"]\"):\"[function]\";case\"object\":return null===e?\"null\":function(e,t){if(-1!==t.indexOf(e))return\"[Circular]\";var n=[].concat(t,[e]),i=function(e){var t=e[String(r.a)];if(\"function\"===typeof t)return t;if(\"function\"===typeof e.inspect)return e.inspect}(e);if(void 0!==i){var o=i.call(e);if(o!==e)return\"string\"===typeof o?o:a(o,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return\"[]\";if(t.length>2)return\"[Array]\";for(var n=Math.min(10,e.length),r=e.length-n,i=[],o=0;o1&&i.push(\"... \".concat(r,\" more items\"));return\"[\"+i.join(\", \")+\"]\"}(e,n);return function(e,t){var n=Object.keys(e);if(0===n.length)return\"{}\";if(t.length>2)return\"[\"+function(e){var t=Object.prototype.toString.call(e).replace(/^\\[object /,\"\").replace(/]$/,\"\");if(\"Object\"===t&&\"function\"===typeof e.constructor){var n=e.constructor.name;if(\"string\"===typeof n&&\"\"!==n)return n}return t}(e)+\"]\";return\"{ \"+n.map((function(n){return n+\": \"+a(e[n],t)})).join(\", \")+\" }\"}(e,n)}(e,t);default:return String(e)}}},function(e,t,n){\"use strict\";e.exports=n(275)},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return a})),n.d(t,\"b\",(function(){return s}));var r=n(27),i=n(105),o=n(157);function a(e,t,n,o,s,u,c){var l=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,p=n;if(!p&&l){var f=l[0];p=f&&f.loc&&f.loc.source}var d,h=o;!h&&l&&(h=l.reduce((function(e,t){return t.loc&&e.push(t.loc.start),e}),[])),h&&0===h.length&&(h=void 0),o&&n?d=o.map((function(e){return Object(i.a)(n,e)})):l&&(d=l.reduce((function(e,t){return t.loc&&e.push(Object(i.a)(t.loc.source,t.loc.start)),e}),[]));var m=c;if(null==m&&null!=u){var g=u.extensions;Object(r.a)(g)&&(m=g)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:Boolean(d)},path:{value:s||void 0,enumerable:Boolean(s)},nodes:{value:l||void 0},source:{value:p||void 0},positions:{value:h||void 0},originalError:{value:u},extensions:{value:m||void 0,enumerable:Boolean(m)}}),u&&u.stack?Object.defineProperty(this,\"stack\",{value:u.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,\"stack\",{value:Error().stack,writable:!0,configurable:!0})}function s(e){var t=e.message;if(e.nodes)for(var n=0,r=e.nodes;n\",EOF:\"\",BANG:\"!\",DOLLAR:\"$\",AMP:\"&\",PAREN_L:\"(\",PAREN_R:\")\",SPREAD:\"...\",COLON:\":\",EQUALS:\"=\",AT:\"@\",BRACKET_L:\"[\",BRACKET_R:\"]\",BRACE_L:\"{\",PIPE:\"|\",BRACE_R:\"}\",NAME:\"Name\",INT:\"Int\",FLOAT:\"Float\",STRING:\"String\",BLOCK_STRING:\"BlockString\",COMMENT:\"Comment\"})},function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return ae})),n.d(t,\"b\",(function(){return L})),n.d(t,\"c\",(function(){return y})),n.d(t,\"d\",(function(){return R})),n.d(t,\"e\",(function(){return E})),n.d(t,\"f\",(function(){return c})),n.d(t,\"g\",(function(){return z})),n.d(t,\"h\",(function(){return K})),n.d(t,\"i\",(function(){return I})),n.d(t,\"j\",(function(){return $})),n.d(t,\"k\",(function(){return U})),n.d(t,\"l\",(function(){return X})),n.d(t,\"m\",(function(){return ue})),n.d(t,\"n\",(function(){return pe})),n.d(t,\"o\",(function(){return oe})),n.d(t,\"p\",(function(){return de})),n.d(t,\"q\",(function(){return j})),n.d(t,\"r\",(function(){return F})),n.d(t,\"s\",(function(){return P})),n.d(t,\"t\",(function(){return V})),n.d(t,\"u\",(function(){return M})),n.d(t,\"v\",(function(){return ye})),n.d(t,\"w\",(function(){return re})),n.d(t,\"x\",(function(){return Y})),n.d(t,\"y\",(function(){return Z})),n.d(t,\"z\",(function(){return ee})),n.d(t,\"A\",(function(){return te})),n.d(t,\"B\",(function(){return ne})),n.d(t,\"C\",(function(){return B})),n.d(t,\"D\",(function(){return se})),n.d(t,\"E\",(function(){return ce})),n.d(t,\"F\",(function(){return le})),n.d(t,\"G\",(function(){return fe})),n.d(t,\"H\",(function(){return he})),n.d(t,\"I\",(function(){return me})),n.d(t,\"J\",(function(){return ge})),n.d(t,\"K\",(function(){return ve})),n.d(t,\"L\",(function(){return q})),n.d(t,\"M\",(function(){return l})),n.d(t,\"N\",(function(){return H})),n.d(t,\"O\",(function(){return N})),n.d(t,\"P\",(function(){return W})),n.d(t,\"Q\",(function(){return G})),n.d(t,\"R\",(function(){return J})),n.d(t,\"S\",(function(){return b})),n.d(t,\"T\",(function(){return k})),n.d(t,\"U\",(function(){return s})),n.d(t,\"V\",(function(){return S})),n.d(t,\"W\",(function(){return x})),n.d(t,\"X\",(function(){return O})),n.d(t,\"Y\",(function(){return h})),n.d(t,\"Z\",(function(){return p})),n.d(t,\"ab\",(function(){return v})),n.d(t,\"bb\",(function(){return d})),n.d(t,\"cb\",(function(){return w})),n.d(t,\"db\",(function(){return u})),n.d(t,\"eb\",(function(){return f})),n.d(t,\"fb\",(function(){return A})),n.d(t,\"gb\",(function(){return C})),n.d(t,\"hb\",(function(){return D}));var r=n(15),i=n(43),o=n(9),a=n(128),s=function(e){return function(){return e}}(!0),u=function(){};var c=function(e){return e};\"function\"===typeof Symbol&&Symbol.asyncIterator&&Symbol.asyncIterator;function l(e,t,n){if(!t(e))throw new Error(n)}var p=function(e,t){Object(i.a)(e,t),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach((function(n){e[n]=t[n]}))},f=function(e,t){var n;return(n=[]).concat.apply(n,t.map(e))};function d(e,t){var n=e.indexOf(t);n>=0&&e.splice(n,1)}function h(e){var t=!1;return function(){t||(t=!0,e())}}var m=function(e){throw e},g=function(e){return{value:e,done:!0}};function v(e,t,n){void 0===t&&(t=m),void 0===n&&(n=\"iterator\");var r={meta:{name:n},next:e,throw:t,return:g,isSagaIterator:!0};return\"undefined\"!==typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}function y(e,t){var n=t.sagaStack;console.error(e),console.error(n)}var b=function(e){return new Error(\"\\n redux-saga: Error checking hooks detected an inconsistent state. This is likely a bug\\n in redux-saga code and not yours. Thanks for reporting this in the project's github repo.\\n Error: \"+e+\"\\n\")},x=function(e){return Array.apply(null,new Array(e))},E=function(e){return function(t){return e(Object.defineProperty(t,r.f,{value:!0}))}},D=function(e){return e===r.k},C=function(e){return e===r.j},w=function(e){return D(e)||C(e)};function S(e,t){var n=Object.keys(e),r=n.length;var i,a=0,s=Object(o.a)(e)?x(r):{},c={};return n.forEach((function(e){var n=function(n,o){i||(o||w(n)?(t.cancel(),t(n,o)):(s[e]=n,++a===r&&(i=!0,t(s))))};n.cancel=u,c[e]=n})),t.cancel=function(){i||(i=!0,n.forEach((function(e){return c[e].cancel()})))},c}function k(e){return{name:e.name||\"anonymous\",location:A(e)}}function A(e){return e[r.g]}var T={isEmpty:s,put:u,take:u};function _(e,t){void 0===e&&(e=10);var n=new Array(e),r=0,i=0,o=0,a=function(t){n[i]=t,i=(i+1)%e,r++},s=function(){if(0!=r){var t=n[o];return n[o]=null,r--,o=(o+1)%e,t}},u=function(){for(var e=[];r;)e.push(s());return e};return{isEmpty:function(){return 0==r},put:function(s){var c;if(r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r2147483647||t<-2147483648)throw new TypeError(\"Int cannot represent non 32-bit signed integer value: \".concat(Object(o.a)(e)));return t},parseValue:function(e){if(!i(e))throw new TypeError(\"Int cannot represent non-integer value: \".concat(Object(o.a)(e)));if(e>2147483647||e<-2147483648)throw new TypeError(\"Int cannot represent non 32-bit signed integer value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){if(e.kind===s.a.INT){var t=parseInt(e.value,10);if(t<=2147483647&&t>=-2147483648)return t}}});var l=new u.g({name:\"Float\",description:\"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).\",serialize:function(e){if(\"boolean\"===typeof e)return e?1:0;var t=e;if(\"string\"===typeof e&&\"\"!==e&&(t=Number(e)),!r(t))throw new TypeError(\"Float cannot represent non numeric value: \".concat(Object(o.a)(e)));return t},parseValue:function(e){if(!r(e))throw new TypeError(\"Float cannot represent non numeric value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.FLOAT||e.kind===s.a.INT?parseFloat(e.value):void 0}});function p(e){if(Object(a.a)(e)){if(\"function\"===typeof e.valueOf){var t=e.valueOf();if(!Object(a.a)(t))return t}if(\"function\"===typeof e.toJSON)return e.toJSON()}return e}var f=new u.g({name:\"String\",description:\"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.\",serialize:function(e){var t=p(e);if(\"string\"===typeof t)return t;if(\"boolean\"===typeof t)return t?\"true\":\"false\";if(r(t))return t.toString();throw new TypeError(\"String cannot represent value: \".concat(Object(o.a)(e)))},parseValue:function(e){if(\"string\"!==typeof e)throw new TypeError(\"String cannot represent a non string value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.STRING?e.value:void 0}});var d=new u.g({name:\"Boolean\",description:\"The `Boolean` scalar type represents `true` or `false`.\",serialize:function(e){if(\"boolean\"===typeof e)return e;if(r(e))return 0!==e;throw new TypeError(\"Boolean cannot represent a non boolean value: \".concat(Object(o.a)(e)))},parseValue:function(e){if(\"boolean\"!==typeof e)throw new TypeError(\"Boolean cannot represent a non boolean value: \".concat(Object(o.a)(e)));return e},parseLiteral:function(e){return e.kind===s.a.BOOLEAN?e.value:void 0}});var h=new u.g({name:\"ID\",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.',serialize:function(e){var t=p(e);if(\"string\"===typeof t)return t;if(i(t))return String(t);throw new TypeError(\"ID cannot represent value: \".concat(Object(o.a)(e)))},parseValue:function(e){if(\"string\"===typeof e)return e;if(i(e))return e.toString();throw new TypeError(\"ID cannot represent value: \".concat(Object(o.a)(e)))},parseLiteral:function(e){return e.kind===s.a.STRING||e.kind===s.a.INT?e.value:void 0}}),m=Object.freeze([f,c,l,d,h]);function g(e){return Object(u.R)(e)&&m.some((function(t){var n=t.name;return e.name===n}))}},function(e,t,n){e.exports=function(){\"use strict\";var e=navigator.userAgent,t=navigator.platform,n=/gecko\\/\\d/i.test(e),r=/MSIE \\d/.test(e),i=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(e),o=/Edge\\/(\\d+)/.exec(e),a=r||i||o,s=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\\//.test(e),c=u&&/Qt\\/\\d+\\.\\d+/.test(e),l=!o&&/Chrome\\//.test(e),p=/Opera\\//.test(e),f=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(e),h=/PhantomJS/.test(e),m=!o&&/AppleWebKit/.test(e)&&/Mobile\\/\\w+/.test(e),g=/Android/.test(e),v=m||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),y=m||/Mac/.test(t),b=/\\bCrOS\\b/.test(e),x=/win/i.test(t),E=p&&e.match(/Version\\/(\\d*\\.\\d*)/);E&&(E=Number(E[1])),E&&E>=15&&(p=!1,u=!0);var D=y&&(c||p&&(null==E||E<12.11)),C=n||a&&s>=9;function w(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}var S,k=function(e,t){var n=e.className,r=w(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:\"\")}};function A(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function T(e,t){return A(e).appendChild(t)}function _(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),\"string\"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}m?j=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(j=function(e){try{e.select()}catch(t){}});var B=function(){this.id=null,this.f=null,this.time=0,this.handler=L(this.onTimeout,this)};function z(e,t){for(var n=0;n=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var G=[\"\"];function K(e){for(;G.length<=e;)G.push(J(G)+\" \");return G[e]}function J(e){return e[e.length-1]}function Y(e,t){for(var n=[],r=0;r\"\\x80\"&&(e.toUpperCase()!=e.toLowerCase()||X.test(e))}function ee(e,t){return t?!!(t.source.indexOf(\"\\\\w\")>-1&&Z(e))||t.test(e):Z(e)}function te(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ne=/[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ne.test(e)}function ie(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var ae=null;function se(e,t,n){var r;ae=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&\"before\"==n?r=i:ae=i),o.from==t&&(o.from!=o.to&&\"before\"!=n?r=i:ae=i)}return null!=r?r:ae}var ue=function(){var e=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,t=/[stwN]/,n=/[LRr]/,r=/[Lb1n]/,i=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var u=\"ltr\"==s?\"L\":\"R\";if(0==a.length||\"ltr\"==s&&!e.test(a))return!1;for(var c,l=a.length,p=[],f=0;f-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function he(e,t){var n=fe(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function ye(e){e.prototype.on=function(e,t){pe(this,e,t)},e.prototype.off=function(e,t){de(this,e,t)}}function be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function xe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ee(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function De(e){be(e),xe(e)}function Ce(e){return e.target||e.srcElement}function we(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),y&&e.ctrlKey&&1==t&&(t=3),t}var Se,ke,Ae=function(){if(a&&s<9)return!1;var e=_(\"div\");return\"draggable\"in e||\"dragDrop\"in e}();function Te(e){if(null==Se){var t=_(\"span\",\"\\u200b\");T(e,_(\"span\",[t,document.createTextNode(\"x\")])),0!=e.firstChild.offsetHeight&&(Se=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Se?_(\"span\",\"\\u200b\"):_(\"span\",\"\\xa0\",null,\"display: inline-block; width: 1px; margin-right: -1px\");return n.setAttribute(\"cm-text\",\"\"),n}function _e(e){if(null!=ke)return ke;var t=T(e,document.createTextNode(\"A\\u062eA\")),n=S(t,0,1).getBoundingClientRect(),r=S(t,1,2).getBoundingClientRect();return A(e),!(!n||n.left==n.right)&&(ke=r.right-n.right<3)}var Oe=3!=\"\\n\\nb\".split(/\\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(\"\\n\",t);-1==i&&(i=e.length);var o=e.slice(t,\"\\r\"==e.charAt(i-1)?i-1:i),a=o.indexOf(\"\\r\");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\\r\\n?|\\n/)},Fe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(n){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints(\"StartToEnd\",t)},Ne=function(){var e=_(\"div\");return\"oncopy\"in e||(e.setAttribute(\"oncopy\",\"return;\"),\"function\"==typeof e.oncopy)}(),Ie=null,Me={},je={};function Le(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Me[e]=t}function Pe(e){if(\"string\"==typeof e&&je.hasOwnProperty(e))e=je[e];else if(e&&\"string\"==typeof e.name&&je.hasOwnProperty(e.name)){var t=je[e.name];\"string\"==typeof t&&(t={name:t}),(e=$(t,e)).name=t.name}else{if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(e))return Pe(\"application/xml\");if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(e))return Pe(\"application/json\")}return\"string\"==typeof e?{name:e}:e||{name:\"null\"}}function Re(e,t){t=Pe(t);var n=Me[t.name];if(!n)return Re(e,\"text/plain\");var r=n(e,t);if(Be.hasOwnProperty(t.name)){var i=Be[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r[\"_\"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var Be={};function ze(e,t){P(t,Be.hasOwnProperty(e)?Be[e]:Be[e]={})}function Ue(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function qe(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ve(e,t,n){return!e.startState||e.startState(t,n)}var He=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function We(e,t){if((t-=e.first)<0||t>=e.size)throw new Error(\"There is no line \"+(t+e.first)+\" in the document.\");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&tn?Ze(n,We(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?Ze(e.line,t):n<0?Ze(e.line,0):e}(t,We(e,t.line).text.length)}function st(e,t){for(var n=[],r=0;r=this.string.length},He.prototype.sol=function(){return this.pos==this.lineStart},He.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},He.prototype.next=function(){if(this.post},He.prototype.eatSpace=function(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},He.prototype.skipToEnd=function(){this.pos=this.string.length},He.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},He.prototype.backUp=function(e){this.pos-=e},He.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},He.prototype.current=function(){return this.string.slice(this.start,this.pos)},He.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},He.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},He.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ut=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function lt(e,t,n,r){var i=[e.state.modeGen],o={};bt(e,t.text,e.doc.mode,n,(function(e,t){return i.push(e,t)}),o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],u=1,c=0;n.state=!0,bt(e,t.text,s.mode,n,(function(e,t){for(var n=u;ce&&i.splice(u,1,e,i[u+1],r),u+=2,c=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,u-n,e,\"overlay \"+t),u=n+2;else for(;ne.options.maxHighlightLength&&Ue(e.doc.mode,r.state),o=lt(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function ft(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ct(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var u=We(o,s-1),c=u.stateAfter;if(c&&(!n||s+(c instanceof ut?c.lookAhead:0)<=o.modeFrontier))return s;var l=R(u.text,null,e.options.tabSize);(null==i||r>l)&&(i=s-1,r=l)}return i}(e,t,n),a=o>r.first&&We(r,o-1).stateAfter,s=a?ct.fromSaved(r,a,o):new ct(r,Ve(r.mode),o);return r.iter(o,t,(function(n){dt(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&rt.start)return o}throw new Error(\"Mode \"+e.name+\" failed to advance stream.\")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,\"\"),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,n){return t instanceof ut?new ct(e,Ue(e.mode,t.state),n,t.lookAhead):new ct(e,Ue(e.mode,t),n)},ct.prototype.save=function(e){var t=!1!==e?Ue(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ut(t,this.maxLookAhead):t};var gt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function vt(e,t,n,r){var i,o,a=e.doc,s=a.mode,u=We(a,(t=at(a,t)).line),c=ft(e,t.line,n),l=new He(u.text,e.options.tabSize,c);for(r&&(o=[]);(r||l.pose.options.maxHighlightLength?(s=!1,a&&dt(e,t,r,p.pos),p.pos=t.length,u=null):u=yt(mt(n,p,r.state,f),o),f){var d=f[0].name;d&&(u=\"m-\"+(u?d+\" \"+u:d))}if(!s||l!=u){for(;c=t:o.to>t);(r||(r=[])).push(new Dt(a,o.from,s?null:o.to))}}return r}(n,i,a),u=function(e,t,n){var r;if(e)for(var i=0;i=t:o.to>t)||o.from==t&&\"bookmark\"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var b=0;bt)&&(!n||Ft(n,o.marker)<0)&&(n=o.marker)}return n}function Lt(e,t,n,r,i){var o=We(e,t),a=Et&&o.markedSpans;if(a)for(var s=0;s=0&&p<=0||l<=0&&p>=0)&&(l<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?et(c.to,n)>=0:et(c.to,n)>0)||l>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?et(c.from,r)<=0:et(c.from,r)<0)))return!0}}}function Pt(e){for(var t;t=It(e);)e=t.find(-1,!0).line;return e}function Rt(e,t){var n=We(e,t),r=Pt(n);return n==r?t:Ye(r)}function Bt(e,t){if(t>e.lastLine())return t;var n,r=We(e,t);if(!zt(e,r))return t;for(;n=Mt(r);)r=n.find(1,!0).line;return Ye(r)+1}function zt(e,t){var n=Et&&t.markedSpans;if(n)for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Wt=function(e,t,n){this.text=e,Tt(this,t),this.height=n?n(this):1};function Gt(e){e.parent=null,At(e)}Wt.prototype.lineNo=function(){return Ye(this)},ye(Wt);var Kt={},Jt={};function Yt(e,t){if(!e||/^\\s*$/.test(e))return null;var n=t.addModeClass?Jt:Kt;return n[e]||(n[e]=e.replace(/\\S+/g,\"cm-$&\"))}function Qt(e,t){var n=O(\"span\",null,null,u?\"padding-right: .1px\":null),r={pre:O(\"pre\",[n],\"CodeMirror-line\"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption(\"lineWrapping\")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Xt,_e(e.display.measure)&&(a=ce(o,e.doc.direction))&&(r.addToken=Zt(r.addToken,a)),r.map=[],tn(o,r,pt(e,o,t!=e.display.externalMeasured&&Ye(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=M(o.styleClasses.bgClass,r.bgClass||\"\")),o.styleClasses.textClass&&(r.textClass=M(o.styleClasses.textClass,r.textClass||\"\"))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Te(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\\bcm-tab\\b/.test(s.className)||s.querySelector&&s.querySelector(\".cm-tab\"))&&(r.content.className=\"cm-tab-wrap-hack\")}return he(e,\"renderLine\",e,t.line,r.pre),r.pre.className&&(r.textClass=M(r.pre.className,r.textClass||\"\")),r}function $t(e){var t=_(\"span\",\"\\u2022\",\"cm-invalidchar\");return t.title=\"\\\\u\"+e.charCodeAt(0).toString(16),t.setAttribute(\"aria-label\",t.title),t}function Xt(e,t,n,r,i,o,u){if(t){var c,l=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r=\"\",i=0;ic&&p.from<=c);f++);if(p.to>=l)return e(n,r,i,o,a,s,u);e(n,r.slice(0,p.to-c),i,o,null,s,u),o=null,r=r.slice(p.to-c),c=p.to}}}function en(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement(\"span\"))),i.setAttribute(\"cm-marker\",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function tn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,u,c,l,p,f,d=i.length,h=0,m=1,g=\"\",v=0;;){if(v==h){u=c=l=s=\"\",f=null,p=null,v=1/0;for(var y=[],b=void 0,x=0;xh||D.collapsed&&E.to==h&&E.from==h)){if(null!=E.to&&E.to!=h&&v>E.to&&(v=E.to,c=\"\"),D.className&&(u+=\" \"+D.className),D.css&&(s=(s?s+\";\":\"\")+D.css),D.startStyle&&E.from==h&&(l+=\" \"+D.startStyle),D.endStyle&&E.to==v&&(b||(b=[])).push(D.endStyle,E.to),D.title&&((f||(f={})).title=D.title),D.attributes)for(var C in D.attributes)(f||(f={}))[C]=D.attributes[C];D.collapsed&&(!p||Ft(p.marker,D)<0)&&(p=E)}else E.from>h&&v>E.from&&(v=E.from)}if(b)for(var w=0;w=d)break;for(var k=Math.min(d,v);;){if(g){var A=h+g.length;if(!p){var T=A>k?g.slice(0,k-h):g;t.addToken(t,T,a?a+u:u,l,h+T.length==v?c:\"\",s,f)}if(A>=k){g=g.slice(k-h),h=k;break}h=A,l=\"\"}g=i.slice(o,o=n[m++]),a=Yt(n[m++],t.cm.options)}}else for(var _=1;_n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function _n(e,t,n,r){return Nn(e,Fn(e,t),n,r)}function On(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((u.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=jn(t.map,n,r),u=o.node,c=o.start,l=o.end,p=o.collapse;if(3==u.nodeType){for(var f=0;f<4;f++){for(;c&&re(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+l1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var d;c>0&&(p=r=\"right\"),i=e.options.lineWrapping&&(d=u.getClientRects()).length>1?d[\"right\"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&s<9&&!c&&(!i||!i.left&&!i.right)){var h=u.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+rr(e.display),top:h.top,bottom:h.bottom}:Mn}for(var m=i.top-t.rect.top,g=i.bottom-t.rect.top,v=(m+g)/2,y=t.view.measure.heights,b=0;bt)&&(i=(o=u-s)-1,t>=u&&(a=\"right\")),null!=i){if(r=e[c+2],s==u&&n==(r.insertLeft?\"left\":\"right\")&&(a=n),\"left\"==n&&0==i)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)r=e[2+(c-=3)],a=\"left\";if(\"right\"==n&&i==u-s)for(;c=0&&(n=e[i]).left==n.right;i--);return n}function Pn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=r.text.length?(u=r.text.length,c=\"before\"):u<=0&&(u=0,c=\"after\"),!s)return a(\"before\"==c?u-1:u,\"before\"==c);function l(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var p=se(s,u,c),f=ae,d=l(u,p,\"before\"==c);return null!=f&&(d.other=l(u,f,\"before\"!=c)),d}function Kn(e,t){var n=0;t=at(e.doc,t),e.options.lineWrapping||(n=rr(e.display)*t.ch);var r=We(e.doc,t.line),i=qt(r)+Dn(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Jn(e,t,n,r,i){var o=Ze(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Yn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Jn(r.first,0,null,-1,-1);var i=Qe(r,n),o=r.first+r.size-1;if(i>o)return Jn(r.first+r.size-1,We(r,o).text.length,null,1,1);t<0&&(t=0);for(var a=We(r,i);;){var s=Zn(e,a,i,t,n),u=jt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!u)return s;var c=u.find(1);if(c.line==i)return c;a=We(r,i=c.line)}}function Qn(e,t,n,r){r-=qn(t);var i=t.text.length,o=oe((function(t){return Nn(e,n,t-1).bottom<=r}),i,0);return{begin:o,end:i=oe((function(t){return Nn(e,n,t).top>r}),o,i)}}function $n(e,t,n,r){return n||(n=Fn(e,t)),Qn(e,t,n,Vn(e,t,Nn(e,n,r),\"line\").top)}function Xn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function Zn(e,t,n,r,i){i-=qt(t);var o=Fn(e,t),a=qn(t),s=0,u=t.text.length,c=!0,l=ce(t,e.doc.direction);if(l){var p=(e.options.lineWrapping?tr:er)(e,t,n,o,l,r,i);s=(c=1!=p.level)?p.from:p.to-1,u=c?p.to:p.from-1}var f,d,h=null,m=null,g=oe((function(t){var n=Nn(e,o,t);return n.top+=a,n.bottom+=a,!!Xn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)}),s,u),v=!1;if(m){var y=r-m.left=x.bottom?1:0}return Jn(n,g=ie(t.text,g,1),d,v,r-f)}function er(e,t,n,r,i,o,a){var s=oe((function(s){var u=i[s],c=1!=u.level;return Xn(Gn(e,Ze(n,c?u.to:u.from,c?\"before\":\"after\"),\"line\",t,r),o,a,!0)}),0,i.length-1),u=i[s];if(s>0){var c=1!=u.level,l=Gn(e,Ze(n,c?u.from:u.to,c?\"after\":\"before\"),\"line\",t,r);Xn(l,o,a,!0)&&l.top>a&&(u=i[s-1])}return u}function tr(e,t,n,r,i,o,a){var s=Qn(e,t,r,a),u=s.begin,c=s.end;/\\s/.test(t.text.charAt(c-1))&&c--;for(var l=null,p=null,f=0;f=c||d.to<=u)){var h=Nn(e,r,1!=d.level?Math.min(c,d.to)-1:Math.max(u,d.from)).right,m=hm)&&(l=d,p=m)}}return l||(l=i[i.length-1]),l.fromc&&(l={from:l.from,to:c,level:l.level}),l}function nr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==In){In=_(\"pre\",null,\"CodeMirror-line-like\");for(var t=0;t<49;++t)In.appendChild(document.createTextNode(\"x\")),In.appendChild(_(\"br\"));In.appendChild(document.createTextNode(\"x\"))}T(e.measure,In);var n=In.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),A(e.measure),n||1}function rr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=_(\"span\",\"xxxxxxxxxx\"),n=_(\"pre\",[t],\"CodeMirror-line-like\");T(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function ir(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:or(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function or(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function ar(e){var t=nr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/rr(e.display)-3);return function(i){if(zt(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a0&&(u=We(e.doc,c.line).text).length==c.ch){var l=R(u,u.length,e.options.tabSize)-u.length;c=Ze(c.line,Math.max(0,Math.round((o-wn(e.display).left)/rr(e.display))-l))}return c}function cr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Et&&Rt(e.doc,t)i.viewFrom?fr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)fr(e);else if(t<=i.viewFrom){var o=dr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):fr(e)}else if(n>=i.viewTo){var a=dr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):fr(e)}else{var s=dr(e,t,t,-1),u=dr(e,n,n+r,1);s&&u?(i.view=i.view.slice(0,s.index).concat(rn(e,s.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):fr(e)}var c=i.externalMeasured;c&&(n=i.lineN&&t=r.viewTo)){var o=r.view[cr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==z(a,n)&&a.push(n)}}}function fr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function dr(e,t,n,r){var i,o=cr(e,t),a=e.display.view;if(!Et||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,u=0;u0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Rt(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function hr(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?\"rtl\":\"ltr\",o),i=!0)}i||r(t,n,\"ltr\")}(m,n||0,null==r?f:r,(function(e,t,i,p){var g=\"ltr\"==i,v=d(e,g?\"left\":\"right\"),y=d(t-1,g?\"right\":\"left\"),b=null==n&&0==e,x=null==r&&t==f,E=0==p,D=!m||p==m.length-1;if(y.top-v.top<=3){var C=(c?x:b)&&D,w=(c?b:x)&&E?s:(g?v:y).left,S=C?u:(g?y:v).right;l(w,v.top,S-w,v.bottom)}else{var k,A,T,_;g?(k=c&&b&&E?s:v.left,A=c?u:h(e,i,\"before\"),T=c?s:h(t,i,\"after\"),_=c&&x&&D?u:y.right):(k=c?h(e,i,\"before\"):s,A=!c&&b&&E?u:v.right,T=!c&&x&&D?s:y.left,_=c?h(t,i,\"after\"):u),l(k,v.top,A-k,v.bottom),v.bottom0?t.blinker=setInterval((function(){return t.cursorDiv.style.visibility=(n=!n)?\"\":\"hidden\"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility=\"hidden\")}}function Er(e){e.state.focused||(e.display.input.focus(),Cr(e))}function Dr(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,wr(e))}),100)}function Cr(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),\"nocursor\"!=e.options.readOnly&&(e.state.focused||(he(e,\"focus\",e,t),e.state.focused=!0,I(e.display.wrapper,\"CodeMirror-focused\"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),u&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),xr(e))}function wr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,\"blur\",e,t),e.state.focused=!1,k(e.display.wrapper,\"CodeMirror-focused\")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Sr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r.005||f<-.005)&&(Je(i.line,u),kr(i.line),i.rest))for(var d=0;de.display.sizerWidth){var h=Math.ceil(c/rr(e.display));h>e.display.maxLineLength&&(e.display.maxLineLength=h,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function kr(e){if(e.widgets)for(var t=0;t=a&&(o=Qe(t,qt(We(t,u))-e.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function Tr(e,t){var n=e.display,r=nr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=An(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Cn(n),u=t.tops-r;if(t.topi+o){var l=Math.min(t.top,(c?s:t.bottom)-o);l!=i&&(a.scrollTop=l)}var p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,f=kn(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),d=t.right-t.left>f;return d&&(t.right=t.left+f),t.left<10?a.scrollLeft=0:t.left