├── .github └── ISSUE_TEMPLATE │ └── bug_report.md ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── bq ├── data │ └── chatbotdata.csv ├── dummydata.csv ├── fallbacks.sql ├── fileserver.sql ├── improve-bot.sql ├── negative-sentiment.sql ├── total-negatives.sql ├── total.sql └── track-session.sql ├── chatserver ├── .dockerignore ├── .prettierrc ├── .travis.yml ├── Dockerfile ├── LICENSE ├── __tests__ │ └── main.spec.ts ├── dialogflow │ └── agent │ │ ├── agent.json │ │ ├── customSmalltalkResponses_en.json │ │ ├── entities │ │ ├── cardaction.json │ │ ├── cardaction_entries_en.json │ │ ├── cardaction_entries_nl.json │ │ ├── housing_type.json │ │ ├── housing_type_entries_en.json │ │ ├── housing_type_entries_nl.json │ │ ├── ibannumber.json │ │ ├── ibannumber_entries_en.json │ │ ├── ibannumber_entries_nl.json │ │ ├── incomingpayments.json │ │ ├── incomingpayments_entries_en.json │ │ ├── paymentcategories.json │ │ ├── paymentcategories_entries_en.json │ │ ├── paymentcategories_entries_nl.json │ │ ├── service.json │ │ ├── service_entries_en.json │ │ ├── service_entries_nl.json │ │ ├── sys.color.json │ │ ├── sys.color_entries_en.json │ │ ├── sys.last-name.json │ │ └── sys.last-name_entries_en.json │ │ ├── intents │ │ ├── Default Fallback Intent.json │ │ ├── Default Welcome Intent.json │ │ ├── Default Welcome Intent_usersays_en.json │ │ ├── Default Welcome Intent_usersays_nl.json │ │ ├── [bot-first-greeting] Introduction.json │ │ ├── [bot-first-greeting] Introduction_usersays_en.json │ │ ├── [bot-first-greeting] Introduction_usersays_nl.json │ │ ├── [goodbye].json │ │ ├── [goodbye]_usersays_en.json │ │ ├── [goodbye]_usersays_nl.json │ │ ├── [help].json │ │ ├── [help]_usersays_en.json │ │ ├── [help]_usersays_nl.json │ │ ├── [payload] What_s your location.json │ │ ├── [payload] What_s your location_usersays_en.json │ │ ├── [payload] What_s your website.json │ │ ├── [payload] What_s your website_usersays_en.json │ │ ├── [search] Salary.json │ │ ├── [search] Salary_usersays_en.json │ │ ├── [search] Salary_usersays_nl.json │ │ ├── [search] Spent.json │ │ ├── [search] Spent_usersays_en.json │ │ ├── [search] Spent_usersays_nl.json │ │ ├── [usecase 1b] How many days will it take_.json │ │ ├── [usecase 1b] How many days will it take__usersays_en.json │ │ ├── [usecase 1b] How many days will it take__usersays_nl.json │ │ ├── [usecase 2] bIock_renew a service - yes.json │ │ ├── [usecase 2] bIock_renew a service - yes_usersays_en.json │ │ ├── [usecase 2] bIock_renew a service - yes_usersays_nl.json │ │ ├── [usecase 2] bIock_renew a service.json │ │ ├── [usecase 2] bIock_renew a service_usersays_en.json │ │ ├── [usecase 2] bIock_renew a service_usersays_nl.json │ │ ├── [usecase 3] paperwork insurance.json │ │ ├── [usecase 3] paperwork insurance_usersays_en.json │ │ ├── [usecase 4] Mortgage request - custom.json │ │ ├── [usecase 4] Mortgage request - custom_usersays_en.json │ │ ├── [usecase 4] Mortgage request.json │ │ ├── [usecase 4] Mortgage request_usersays_en.json │ │ ├── [usecase 4] Mortgage request_usersays_nl.json │ │ ├── [usecase 5] Undo transaction.json │ │ ├── [usecase 5] Undo transaction_usersays_en.json │ │ ├── [usecase 5] Undo transaction_usersays_nl.json │ │ ├── [usecase 6] What_s my balance.json │ │ ├── [usecase 6] What_s my balance_usersays_en.json │ │ ├── [usecase 6] What_s my saldo - problem.json │ │ ├── [usecase 6] What_s my saldo - problem_usersays_en.json │ │ ├── [usecase 7] Last 3 transactions - I did not do that.json │ │ ├── [usecase 7] Last 3 transactions - I did not do that_usersays_en.json │ │ ├── [usecase 7] Last 3 transactions.json │ │ ├── [usecase 7] Last 3 transactions_usersays_en.json │ │ ├── [usecase 8] Transfer Call.json │ │ ├── [usecase 8] Transfer Call_usersays_en.json │ │ ├── [usercase 1] transfer money.json │ │ ├── [usercase 1] transfer money_usersays_en.json │ │ ├── [usercase 1] transfer money_usersays_nl.json │ │ ├── [usercase1] transfer money - costs.json │ │ └── [usercase1] transfer money - costs_usersays_en.json │ │ └── package.json ├── env.txt ├── jest.config.js ├── package-lock.json ├── package.json ├── src │ ├── acceptance.ts │ ├── analytics.ts │ ├── chatbase.ts │ ├── chatconfig.ts │ ├── dashboard.ts │ ├── dialogflow.ts │ ├── main.ts │ ├── set.ts │ └── structjson.ts ├── tsconfig.json ├── tsconfig.release.json └── tslint.json ├── cloudbuilder ├── TUTORIAL.md ├── chatserver-deployment.yaml ├── chatserver.yaml ├── django-deployment.yaml ├── django.yaml ├── front-end-deployment.yaml ├── front-end.yaml ├── services.yaml └── setup.yaml ├── cloudfunctions └── chatanalytics │ ├── index.js │ └── package.json ├── datasets └── automl-taxonomy.csv ├── deploy.sh ├── deploymentmanager ├── lee.yaml ├── pubsub.py ├── pubsubgcp.py └── pubsubgcp.yaml ├── front-end ├── .dockerignore ├── .editorconfig ├── .gitignore ├── Dockerfile ├── README.md ├── angular.json ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.e2e.json ├── nginx │ └── default.conf ├── package-lock.json ├── package.json ├── src │ ├── app │ │ ├── admin-config │ │ │ ├── admin-config.component.html │ │ │ ├── admin-config.component.scss │ │ │ ├── admin-config.component.spec.ts │ │ │ └── admin-config.component.ts │ │ ├── admin-dashboard │ │ │ ├── admin-dashboard.component.css │ │ │ ├── admin-dashboard.component.html │ │ │ ├── admin-dashboard.component.spec.ts │ │ │ └── admin-dashboard.component.ts │ │ ├── admin-test │ │ │ ├── admin-test.component.html │ │ │ ├── admin-test.component.scss │ │ │ ├── admin-test.component.spec.ts │ │ │ └── admin-test.component.ts │ │ ├── app-routing.module.ts │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── auth │ │ │ └── tokeninterceptor.ts │ │ ├── balance │ │ │ ├── balance.component.html │ │ │ ├── balance.component.scss │ │ │ ├── balance.component.spec.ts │ │ │ ├── balance.component.ts │ │ │ └── mic.png │ │ ├── faq │ │ │ ├── faq.component.html │ │ │ ├── faq.component.scss │ │ │ ├── faq.component.spec.ts │ │ │ └── faq.component.ts │ │ ├── login │ │ │ ├── login.component.html │ │ │ ├── login.component.scss │ │ │ └── login.component.ts │ │ ├── my-nav │ │ │ ├── my-nav.component.html │ │ │ ├── my-nav.component.scss │ │ │ ├── my-nav.component.spec.ts │ │ │ └── my-nav.component.ts │ │ └── support │ │ │ ├── chatavatar.png │ │ │ ├── support.component.html │ │ │ ├── support.component.scss │ │ │ ├── support.component.spec.ts │ │ │ └── support.component.ts │ ├── assets │ │ ├── .gitkeep │ │ ├── fonts │ │ │ ├── GoogleSans-Bold.eot │ │ │ ├── GoogleSans-Bold.svg │ │ │ ├── GoogleSans-Bold.ttf │ │ │ ├── GoogleSans-Bold.woff │ │ │ ├── GoogleSans-Bold.woff2 │ │ │ ├── GoogleSans-BoldItalic.eot │ │ │ ├── GoogleSans-BoldItalic.svg │ │ │ ├── GoogleSans-BoldItalic.ttf │ │ │ ├── GoogleSans-BoldItalic.woff │ │ │ ├── GoogleSans-BoldItalic.woff2 │ │ │ ├── GoogleSans-Italic.eot │ │ │ ├── GoogleSans-Italic.svg │ │ │ ├── GoogleSans-Italic.ttf │ │ │ ├── GoogleSans-Italic.woff │ │ │ ├── GoogleSans-Italic.woff2 │ │ │ ├── GoogleSans-Medium.eot │ │ │ ├── GoogleSans-Medium.svg │ │ │ ├── GoogleSans-Medium.ttf │ │ │ ├── GoogleSans-Medium.woff │ │ │ ├── GoogleSans-Medium.woff2 │ │ │ ├── GoogleSans-MediumItalic.eot │ │ │ ├── GoogleSans-MediumItalic.svg │ │ │ ├── GoogleSans-MediumItalic.ttf │ │ │ ├── GoogleSans-MediumItalic.woff │ │ │ ├── GoogleSans-MediumItalic.woff2 │ │ │ ├── GoogleSans-Regular.eot │ │ │ ├── GoogleSans-Regular.svg │ │ │ ├── GoogleSans-Regular.ttf │ │ │ ├── GoogleSans-Regular.woff │ │ │ └── GoogleSans-Regular.woff2 │ │ ├── html │ │ │ └── faq │ │ │ │ └── faq.html │ │ ├── img │ │ │ └── logos │ │ │ │ ├── bank.png │ │ │ │ ├── gamemania.png │ │ │ │ ├── google.png │ │ │ │ ├── pizza.png │ │ │ │ ├── profile.png │ │ │ │ ├── tcalogo.png │ │ │ │ └── uberlogo.png │ │ └── scss │ │ │ └── styles.scss │ ├── browserslist │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── karma.conf.js │ ├── main.ts │ ├── polyfills.ts │ ├── styles.scss │ ├── test.ts │ ├── tsconfig.app.json │ ├── tsconfig.spec.json │ └── tslint.json ├── tsconfig.json └── tslint.json ├── images ├── architecture1.png ├── architecture2.png ├── avatar ├── chatavatar.png ├── chatavatar1.png ├── fileananalytics-architecture.png └── website.png ├── megabot └── request.json ├── properties ├── readme.md ├── server ├── .dockerignore ├── Dockerfile ├── entrypoint.sh ├── game │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_auto_20160626_1652.py │ │ ├── 0003_auto_20160626_1801.py │ │ ├── 0004_auto_20160626_1807.py │ │ ├── 0005_auto_20160626_1810.py │ │ ├── 0006_auto_20160706_1338.py │ │ └── __init__.py │ ├── models.py │ ├── serializers.py │ ├── templates │ │ ├── form.html │ │ ├── game.html │ │ └── overview.html │ ├── tests.py │ ├── urls.py │ └── views.py ├── manage.py ├── mysite │ ├── __init__.py │ ├── models.py │ ├── serializers.py │ ├── settings.py │ ├── urls.py │ ├── views.py │ └── wsgi.py ├── requirements.txt ├── run.sh └── static │ ├── admin │ ├── css │ │ ├── autocomplete.781713f30664.css │ │ ├── autocomplete.css │ │ ├── base.17fd9d2dcc19.css │ │ ├── base.a419cbad388f.css │ │ ├── base.css │ │ ├── changelists.css │ │ ├── changelists.f6dc691f8d62.css │ │ ├── dashboard.7ac78187c567.css │ │ ├── dashboard.css │ │ ├── fonts.494e4ec545c9.css │ │ ├── fonts.cc6140298ba7.css │ │ ├── fonts.css │ │ ├── forms.2003a066ae02.css │ │ ├── forms.77b3f8a70811.css │ │ ├── forms.css │ │ ├── login.a846c0e2ef65.css │ │ ├── login.css │ │ ├── responsive.25d98d3909ed.css │ │ ├── responsive.css │ │ ├── responsive_rtl.2a6652327ccd.css │ │ ├── responsive_rtl.css │ │ ├── rtl.4c867197b256.css │ │ ├── rtl.css │ │ ├── vendor │ │ │ └── select2 │ │ │ │ ├── LICENSE-SELECT2.7cf1de939f3b.md │ │ │ │ ├── LICENSE-SELECT2.md │ │ │ │ ├── select2.3805311d5fc1.css │ │ │ │ ├── select2.css │ │ │ │ ├── select2.min.css │ │ │ │ └── select2.min.d44571114a90.css │ │ ├── widgets.5e372b41c483.css │ │ ├── widgets.a7251c097987.css │ │ └── widgets.css │ ├── fonts │ │ ├── LICENSE.d273d63619c9.txt │ │ ├── LICENSE.txt │ │ ├── README.2c3d0bcdede2.txt │ │ ├── README.txt │ │ ├── Roboto-Bold-webfont.2ad99072841e.woff │ │ ├── Roboto-Bold-webfont.woff │ │ ├── Roboto-Light-webfont.b446c2399bb6.woff │ │ ├── Roboto-Light-webfont.woff │ │ ├── Roboto-Regular-webfont.ec39515ae8c6.woff │ │ └── Roboto-Regular-webfont.woff │ ├── img │ │ ├── LICENSE │ │ ├── LICENSE.2c54f4e1ca1c │ │ ├── README.837277fa1908.txt │ │ ├── README.txt │ │ ├── calendar-icons.39b290681a8b.svg │ │ ├── calendar-icons.svg │ │ ├── gis │ │ │ ├── move_vertex_off.7a23bf31ef8a.svg │ │ │ ├── move_vertex_off.svg │ │ │ ├── move_vertex_on.0047eba25b67.svg │ │ │ └── move_vertex_on.svg │ │ ├── icon-addlink.d519b3bab011.svg │ │ ├── icon-addlink.svg │ │ ├── icon-alert.034cc7d8a67f.svg │ │ ├── icon-alert.svg │ │ ├── icon-calendar.ac7aea671bea.svg │ │ ├── icon-calendar.svg │ │ ├── icon-changelink.18d2fd706348.svg │ │ ├── icon-changelink.svg │ │ ├── icon-clock.e1d4dfac3f2b.svg │ │ ├── icon-clock.svg │ │ ├── icon-deletelink.564ef9dc3854.svg │ │ ├── icon-deletelink.svg │ │ ├── icon-no.439e821418cd.svg │ │ ├── icon-no.svg │ │ ├── icon-unknown-alt.81536e128bb6.svg │ │ ├── icon-unknown-alt.svg │ │ ├── icon-unknown.a18cb4398978.svg │ │ ├── icon-unknown.svg │ │ ├── icon-yes.d2f9f035226a.svg │ │ ├── icon-yes.svg │ │ ├── inline-delete.fec1b761f254.svg │ │ ├── inline-delete.svg │ │ ├── search.7cf54ff789c6.svg │ │ ├── search.svg │ │ ├── selector-icons.b4555096cea2.svg │ │ ├── selector-icons.svg │ │ ├── sorting-icons.3a097b59f104.svg │ │ ├── sorting-icons.svg │ │ ├── tooltag-add.e59d620a9742.svg │ │ ├── tooltag-add.svg │ │ ├── tooltag-arrowright.bbfb788a849e.svg │ │ └── tooltag-arrowright.svg │ └── js │ │ ├── SelectBox.b49f008d186b.js │ │ ├── SelectBox.js │ │ ├── SelectFilter2.2360f389ca5d.js │ │ ├── SelectFilter2.js │ │ ├── actions.6bf7f1c0488d.js │ │ ├── actions.js │ │ ├── actions.min.741d6cf65b97.js │ │ ├── actions.min.js │ │ ├── admin │ │ ├── DateTimeShortcuts.9328d2bf6579.js │ │ ├── DateTimeShortcuts.js │ │ ├── RelatedObjectLookups.ace63ab4b4e2.js │ │ └── RelatedObjectLookups.js │ │ ├── autocomplete.cfd2c4dc8981.js │ │ ├── autocomplete.js │ │ ├── calendar.aae57adab5f6.js │ │ ├── calendar.js │ │ ├── cancel.1d69cba4b4bf.js │ │ ├── cancel.js │ │ ├── change_form.9e85003a1a38.js │ │ ├── change_form.js │ │ ├── collapse.17d715df2104.js │ │ ├── collapse.js │ │ ├── collapse.min.e1d03a2acd1e.js │ │ ├── collapse.min.js │ │ ├── core.953326603873.js │ │ ├── core.js │ │ ├── inlines.bc34c02c43c8.js │ │ ├── inlines.js │ │ ├── inlines.min.4b879f616086.js │ │ ├── inlines.min.js │ │ ├── jquery.init.95b62fa19378.js │ │ ├── jquery.init.js │ │ ├── popup_response.6ce3197f8fc8.js │ │ ├── popup_response.js │ │ ├── prepopulate.ff9208865444.js │ │ ├── prepopulate.js │ │ ├── prepopulate.min.f4057ebb9b62.js │ │ ├── prepopulate.min.js │ │ ├── prepopulate_init.0d3b53c37074.js │ │ ├── prepopulate_init.js │ │ ├── timeparse.51258861a46a.js │ │ ├── timeparse.js │ │ ├── urlify.3d46df4a0190.js │ │ ├── urlify.js │ │ └── vendor │ │ ├── jquery │ │ ├── LICENSE-JQUERY.a158210a2737.txt │ │ ├── LICENSE-JQUERY.txt │ │ ├── jquery.aacc43d6f308.js │ │ ├── jquery.js │ │ ├── jquery.min.33cabfa15c10.js │ │ └── jquery.min.js │ │ ├── select2 │ │ ├── LICENSE-SELECT2.7cf1de939f3b.md │ │ ├── LICENSE-SELECT2.md │ │ ├── i18n │ │ │ ├── ar.a8bb27ec698c.js │ │ │ ├── ar.js │ │ │ ├── az.498dc667b34e.js │ │ │ ├── az.js │ │ │ ├── bg.89cba4df3c86.js │ │ │ ├── bg.js │ │ │ ├── ca.2eaad4eb1950.js │ │ │ ├── ca.js │ │ │ ├── cs.a68bcd293adc.js │ │ │ ├── cs.js │ │ │ ├── da.cbf897a0ae53.js │ │ │ ├── da.js │ │ │ ├── de.366d0aacb55f.js │ │ │ ├── de.js │ │ │ ├── el.5629ce65500f.js │ │ │ ├── el.js │ │ │ ├── en.05649b26c086.js │ │ │ ├── en.js │ │ │ ├── es.dc9dbf9d65df.js │ │ │ ├── es.js │ │ │ ├── et.c3953fb90b6b.js │ │ │ ├── et.js │ │ │ ├── eu.11b925456433.js │ │ │ ├── eu.js │ │ │ ├── fa.98e52839b583.js │ │ │ ├── fa.js │ │ │ ├── fi.659847deefdc.js │ │ │ ├── fi.js │ │ │ ├── fr.b06a3340de45.js │ │ │ ├── fr.js │ │ │ ├── gl.78a87f7c0a51.js │ │ │ ├── gl.js │ │ │ ├── he.222d90ee0344.js │ │ │ ├── he.js │ │ │ ├── hi.116a90b7111b.js │ │ │ ├── hi.js │ │ │ ├── hr.e1d2c70b4df5.js │ │ │ ├── hr.js │ │ │ ├── hu.db45641f10b2.js │ │ │ ├── hu.js │ │ │ ├── id.6ee6c9c64b94.js │ │ │ ├── id.js │ │ │ ├── is.808c7d47acb5.js │ │ │ ├── is.js │ │ │ ├── it.bae1661dbb77.js │ │ │ ├── it.js │ │ │ ├── ja.19cf1ce8a03d.js │ │ │ ├── ja.js │ │ │ ├── km.6074a9c5575c.js │ │ │ ├── km.js │ │ │ ├── ko.74b17541834f.js │ │ │ ├── ko.js │ │ │ ├── lt.a0783b1bd159.js │ │ │ ├── lt.js │ │ │ ├── lv.07fe2a580d17.js │ │ │ ├── lv.js │ │ │ ├── mk.4986d7fc3ff3.js │ │ │ ├── mk.js │ │ │ ├── ms.23e7b4369579.js │ │ │ ├── ms.js │ │ │ ├── nb.137e184004aa.js │ │ │ ├── nb.js │ │ │ ├── nl.c363ace8aa05.js │ │ │ ├── nl.js │ │ │ ├── pl.76465b54a6b0.js │ │ │ ├── pl.js │ │ │ ├── pt-BR.9efbbac4fda8.js │ │ │ ├── pt-BR.js │ │ │ ├── pt.5d6ccc53b347.js │ │ │ ├── pt.js │ │ │ ├── ro.1ddc2b9980dc.js │ │ │ ├── ro.js │ │ │ ├── ru.d83609abf2e0.js │ │ │ ├── ru.js │ │ │ ├── sk.a0f1a818d092.js │ │ │ ├── sk.js │ │ │ ├── sr-Cyrl.2f3047aad49e.js │ │ │ ├── sr-Cyrl.js │ │ │ ├── sr.157bc6eb978e.js │ │ │ ├── sr.js │ │ │ ├── sv.2b21bb3f6110.js │ │ │ ├── sv.js │ │ │ ├── th.2a4ece4c4355.js │ │ │ ├── th.js │ │ │ ├── tr.c1925d8817db.js │ │ │ ├── tr.js │ │ │ ├── uk.3d56f311192d.js │ │ │ ├── uk.js │ │ │ ├── vi.3520aa7bdea8.js │ │ │ ├── vi.js │ │ │ ├── zh-CN.419002d3c6c1.js │ │ │ ├── zh-CN.js │ │ │ ├── zh-TW.c021537edf2c.js │ │ │ └── zh-TW.js │ │ ├── select2.full.a95323cb4760.js │ │ ├── select2.full.js │ │ ├── select2.full.min.da607360bcc6.js │ │ └── select2.full.min.js │ │ └── xregexp │ │ ├── LICENSE-XREGEXP.d64cecf4f157.txt │ │ ├── LICENSE-XREGEXP.txt │ │ ├── xregexp.1865b1cf5085.js │ │ ├── xregexp.js │ │ ├── xregexp.min.c95393b8ca4d.js │ │ └── xregexp.min.js │ ├── css │ ├── site.6a544eeebc6a.css │ └── site.css │ ├── rest_framework │ ├── css │ │ ├── bootstrap-tweaks.46ed116b0edd.css │ │ ├── bootstrap-tweaks.b78ca7b14c57.css │ │ ├── bootstrap-tweaks.css │ │ ├── bootstrap.min.86ba6b6fae66.css │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.ec3bb52a00e1.css │ │ ├── default.8d5591a6aabc.css │ │ ├── default.css │ │ ├── prettify.a987f72342ee.css │ │ └── prettify.css │ ├── docs │ │ ├── css │ │ │ ├── base.c1f714975cce.css │ │ │ ├── base.css │ │ │ ├── bootstrap-theme.min.00b93e6ea6fb.css │ │ │ ├── bootstrap-theme.min.321ccd3adb83.css │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap.min.30fe75135f50.css │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.e3e8b38fed66.css │ │ │ ├── font-awesome-4.0.3.1f9e9d1a5a1d.css │ │ │ ├── font-awesome-4.0.3.c1e1ea213abf.css │ │ │ ├── font-awesome-4.0.3.css │ │ │ ├── highlight.css │ │ │ ├── highlight.e0e4d973c6d7.css │ │ │ ├── jquery.json-view.min.a2e6beeb6710.css │ │ │ └── jquery.json-view.min.css │ │ ├── fonts │ │ │ ├── fontawesome-webfont.3293616ec0c6.woff │ │ │ ├── fontawesome-webfont.83e37a11f9d7.svg │ │ │ ├── fontawesome-webfont.8b27bc96115c.eot │ │ │ ├── fontawesome-webfont.dcb26c7239d8.ttf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ ├── glyphicons-halflings-regular.08eda92397ae.svg │ │ │ ├── glyphicons-halflings-regular.448c34a56d69.woff2 │ │ │ ├── glyphicons-halflings-regular.e18bbf611f2a.ttf │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.f4769f9bdb74.eot │ │ │ ├── glyphicons-halflings-regular.fa2772327f55.woff │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── img │ │ │ ├── favicon.5195b4d0f3eb.ico │ │ │ ├── favicon.ico │ │ │ ├── grid.a4b938cf382b.png │ │ │ └── grid.png │ │ └── js │ │ │ ├── api.c9743eab7a4f.js │ │ │ ├── api.js │ │ │ ├── bootstrap.min.79b5346433d3.js │ │ │ ├── bootstrap.min.js │ │ │ ├── highlight.pack.479b5f21dcba.js │ │ │ ├── highlight.pack.js │ │ │ ├── jquery-1.10.2.min.628072e7212d.js │ │ │ ├── jquery-1.10.2.min.js │ │ │ ├── jquery.json-view.min.b7c2d6981377.js │ │ │ └── jquery.json-view.min.js │ ├── fonts │ │ ├── glyphicons-halflings-regular.08eda92397ae.svg │ │ ├── glyphicons-halflings-regular.448c34a56d69.woff2 │ │ ├── glyphicons-halflings-regular.e18bbf611f2a.ttf │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.f4769f9bdb74.eot │ │ ├── glyphicons-halflings-regular.fa2772327f55.woff │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── img │ │ ├── glyphicons-halflings-white.9bbc6e960299.png │ │ ├── glyphicons-halflings-white.png │ │ ├── glyphicons-halflings.90233c9067e9.png │ │ ├── glyphicons-halflings.png │ │ ├── grid.a4b938cf382b.png │ │ └── grid.png │ └── js │ │ ├── ajax-form.0ea6e6052ab5.js │ │ ├── ajax-form.js │ │ ├── bootstrap.min.5869c96cc8f1.js │ │ ├── bootstrap.min.js │ │ ├── coreapi-0.1.1.8851fb9336c9.js │ │ ├── coreapi-0.1.1.js │ │ ├── csrf.753b7a1f2ee7.js │ │ ├── csrf.js │ │ ├── default.b846d7d305c9.js │ │ ├── default.js │ │ ├── jquery-1.12.4.min.4f252523d4af.js │ │ ├── jquery-1.12.4.min.js │ │ ├── prettify-min.709bfcc456c6.js │ │ └── prettify-min.js │ └── staticfiles.json ├── setup.sh ├── setupDialogflow.sh └── teardown.sh /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /bq/fallbacks.sql: -------------------------------------------------------------------------------- 1 | SELECT * from `chatanalytics.chatmessages` where IS_FALLBACK = true ORDER BY TEXT ASC -------------------------------------------------------------------------------- /bq/fileserver.sql: -------------------------------------------------------------------------------- 1 | SELECT * from `fileanalytics.fileresults` where PATH filename LIMIT 10 -------------------------------------------------------------------------------- /bq/improve-bot.sql: -------------------------------------------------------------------------------- 1 | SELECT TEXT, INTENT_NAME, POSTED, SESSION, CONFIDENCE from `chatanalytics.chatmessages` where CONFIDENCE 2 | IS NULL AND INTENT LIKE "%Sorry%" -------------------------------------------------------------------------------- /bq/negative-sentiment.sql: -------------------------------------------------------------------------------- 1 | SELECT * from `chatanalytics.chatmessages` where SCORE < 0 ORDER BY SCORE ASC -------------------------------------------------------------------------------- /bq/total-negatives.sql: -------------------------------------------------------------------------------- 1 | SELECT COUNT(TEXT) AS totalnegatives from `chatanalytics.chatmessages` where SCORE < 0 -------------------------------------------------------------------------------- /bq/total.sql: -------------------------------------------------------------------------------- 1 | SELECT COUNT(TEXT) AS totals from `chatanalytics.chatmessages` 2 | -------------------------------------------------------------------------------- /bq/track-session.sql: -------------------------------------------------------------------------------- 1 | SELECT * from `chatanalytics.chatmessages` where SESSION = '6OVkcIQg7QFvdc5EAAAs' ORDER BY POSTED 2 | -------------------------------------------------------------------------------- /chatserver/.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | .ipynb_checkpoints/* 3 | /notebooks/* 4 | /unused/* 5 | Dockerfile 6 | .DS_Store 7 | .gitignore 8 | README.md 9 | env.* 10 | /devops/* 11 | 12 | # To prevent storing dev/temporary container data 13 | *.csv 14 | /tmp/* 15 | keys 16 | master.json -------------------------------------------------------------------------------- /chatserver/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all", 4 | "overrides": [ 5 | { 6 | "files": "*.ts", 7 | "options": { 8 | "parser": "typescript" 9 | } 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /chatserver/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "8.9" 4 | - "node" 5 | -------------------------------------------------------------------------------- /chatserver/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:10.13.0 2 | 3 | LABEL maintainer="Lee Boonstra" 4 | 5 | WORKDIR /app 6 | 7 | COPY package.json /app 8 | COPY . /app 9 | 10 | RUN npm set progress=false && npm config set depth 0 && npm cache clean --force 11 | RUN npm install grpc --unsafe-perm 12 | RUN npm install pm2 -g 13 | RUN npm install 14 | RUN npm run build 15 | 16 | EXPOSE 3000 17 | 18 | CMD ["pm2-runtime", "/app/dist/src/main.js"] -------------------------------------------------------------------------------- /chatserver/__tests__/main.spec.ts: -------------------------------------------------------------------------------- 1 | /*import { Delays, greeter } from '../src/main'; 2 | 3 | describe('greeter function', () => { 4 | // Read more about fake timers: http://facebook.github.io/jest/docs/en/timer-mocks.html#content 5 | jest.useFakeTimers(); 6 | 7 | const name: string = 'John'; 8 | let hello: string; 9 | 10 | // Act before assertions 11 | beforeAll(async () => { 12 | const p: Promise = greeter(name); 13 | jest.runOnlyPendingTimers(); 14 | hello = await p; 15 | }); 16 | 17 | // Assert if setTimeout was called properly 18 | it('delays the greeting by 2 seconds', () => { 19 | expect(setTimeout).toHaveBeenCalledTimes(1); 20 | expect(setTimeout).toHaveBeenLastCalledWith( 21 | expect.any(Function), 22 | Delays.Long, 23 | ); 24 | }); 25 | 26 | // Assert greeter result 27 | it('greets a user with `Hello, {name}` message', () => { 28 | expect(hello).toBe(`Hello, ${name}`); 29 | }); 30 | }); 31 | */ -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/customSmalltalkResponses_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "action": "smalltalk.confirmation.cancel", 4 | "customAnswers": [ 5 | "Okay." 6 | ] 7 | }, 8 | { 9 | "action": "smalltalk.emotions.ha_ha", 10 | "customAnswers": [ 11 | "Smiling is good for you!" 12 | ] 13 | } 14 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/cardaction.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "89c42130-0b71-4a80-81ec-7614f3a9f2d1", 3 | "name": "cardaction", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/cardaction_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "blocked", 4 | "synonyms": [ 5 | "block", 6 | "disable", 7 | "stop" 8 | ] 9 | }, 10 | { 11 | "value": "renewed", 12 | "synonyms": [ 13 | "new", 14 | "renew" 15 | ] 16 | } 17 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/cardaction_entries_nl.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "geblokkeerd", 4 | "synonyms": [ 5 | "annuleren", 6 | "blocken", 7 | "blockeren", 8 | "blokkeren", 9 | "geblockeerd", 10 | "geblokkeerd", 11 | "stopzetten" 12 | ] 13 | }, 14 | { 15 | "value": "vernieuwd", 16 | "synonyms": [ 17 | "nieuwe aanvragen", 18 | "vernieuwd", 19 | "vernieuwen" 20 | ] 21 | } 22 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/housing_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "10a4f56a-d900-48a9-bce9-8453c35ca598", 3 | "name": "housing_type", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/housing_type_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "H001", 4 | "synonyms": [ 5 | "H001", 6 | "House" 7 | ] 8 | }, 9 | { 10 | "value": "H002", 11 | "synonyms": [ 12 | "H002", 13 | "Villa" 14 | ] 15 | }, 16 | { 17 | "value": "H003", 18 | "synonyms": [ 19 | "Apartement", 20 | "H003" 21 | ] 22 | }, 23 | { 24 | "value": "H004", 25 | "synonyms": [ 26 | "Bungalow", 27 | "H005" 28 | ] 29 | } 30 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/housing_type_entries_nl.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "H001", 4 | "synonyms": [ 5 | "H001", 6 | "huis" 7 | ] 8 | }, 9 | { 10 | "value": "H002", 11 | "synonyms": [ 12 | "H002", 13 | "villa" 14 | ] 15 | }, 16 | { 17 | "value": "H003", 18 | "synonyms": [ 19 | "H003", 20 | "appartement" 21 | ] 22 | }, 23 | { 24 | "value": "H004", 25 | "synonyms": [ 26 | "H004", 27 | "bungalow" 28 | ] 29 | } 30 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/ibannumber.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "c776cef2-85d7-49fb-8e13-a7589dc2099a", 3 | "name": "ibannumber", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": true, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/ibannumber_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "\\d{1} \\d{1} \\d{1} \\d{1} \\d{1} \\d{1} \\d{1} \\d{1} \\d{1} \\d{1}", 4 | "synonyms": [ 5 | "\\b[A-Z]{2}[0-9]{2}[A-Z]{4}[0-9]{4}[0-9]{4}[0-9]{2}\\b" 6 | ] 7 | }, 8 | { 9 | "value": "\\d{10}", 10 | "synonyms": [ 11 | "\\d{10}" 12 | ] 13 | }, 14 | { 15 | "value": "0 1 2 3 4 5 6 7 8 9", 16 | "synonyms": [ 17 | "0 1 2 3 4 5 6 7 8 9" 18 | ] 19 | }, 20 | { 21 | "value": "1 2 3 4 5 6 7 8 9 0", 22 | "synonyms": [ 23 | "1 2 3 4 5 6 7 8 9 0" 24 | ] 25 | }, 26 | { 27 | "value": "01.234.567.890", 28 | "synonyms": [ 29 | "01.234.567.890" 30 | ] 31 | }, 32 | { 33 | "value": "\\d{2}.\\d{3}.\\d{3}.\\d{3}", 34 | "synonyms": [ 35 | "\\d{2}.\\d{3}.\\d{3}.\\d{3}" 36 | ] 37 | } 38 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/ibannumber_entries_nl.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "\\d{10}", 4 | "synonyms": [ 5 | "\\d{10}" 6 | ] 7 | } 8 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/incomingpayments.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "44be6e88-9012-475e-98f1-e707a78be04d", 3 | "name": "incomingpayments", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/incomingpayments_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "loteries", 4 | "synonyms": [ 5 | "casino", 6 | "game", 7 | "lotery", 8 | "win" 9 | ] 10 | }, 11 | { 12 | "value": "presents", 13 | "synonyms": [ 14 | "present", 15 | "presents" 16 | ] 17 | }, 18 | { 19 | "value": "refunds", 20 | "synonyms": [ 21 | "refund", 22 | "refunds" 23 | ] 24 | }, 25 | { 26 | "value": "salary", 27 | "synonyms": [ 28 | "job", 29 | "pay", 30 | "pay slip", 31 | "pay slips", 32 | "salary" 33 | ] 34 | }, 35 | { 36 | "value": "transfers", 37 | "synonyms": [ 38 | "bank transfers", 39 | "transfers" 40 | ] 41 | } 42 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/paymentcategories.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "bb1a590c-bf75-40f3-94ba-d5043fd2e1a7", 3 | "name": "paymentcategories", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/service.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "1630ca07-64c9-4204-a338-254ee6ce5029", 3 | "name": "service", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/service_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "creditcard", 4 | "synonyms": [ 5 | "amex", 6 | "cc", 7 | "creditcard", 8 | "gold card", 9 | "mastercard", 10 | "visa" 11 | ] 12 | }, 13 | { 14 | "value": "debitcard", 15 | "synonyms": [ 16 | "atm card", 17 | "bank pass", 18 | "card", 19 | "debit card" 20 | ] 21 | } 22 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/service_entries_nl.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "creditkaart", 4 | "synonyms": [ 5 | "creditcard", 6 | "creditkaart", 7 | "kreditkaart" 8 | ] 9 | }, 10 | { 11 | "value": "pas", 12 | "synonyms": [ 13 | "bankpas", 14 | "debitcard", 15 | "pas" 16 | ] 17 | }, 18 | { 19 | "value": "rekening", 20 | "synonyms": [ 21 | "account", 22 | "rekening" 23 | ] 24 | } 25 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/sys.color.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "b40bd3dd-36a8-4504-a548-b67f636e59ee", 3 | "name": "sys.color", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/sys.color_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "blue-red", 4 | "synonyms": [ 5 | "blue-red" 6 | ] 7 | }, 8 | { 9 | "value": "blue-pink", 10 | "synonyms": [ 11 | "blue-pink" 12 | ] 13 | } 14 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/sys.last-name.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "503fcf34-4fd9-4419-96a5-7ee321456de3", 3 | "name": "sys.last-name", 4 | "isOverridable": true, 5 | "isEnum": false, 6 | "isRegexp": false, 7 | "automatedExpansion": false, 8 | "allowFuzzyExtraction": false 9 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/entities/sys.last-name_entries_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "value": "a", 4 | "synonyms": [ 5 | "a" 6 | ] 7 | }, 8 | { 9 | "value": "Boonstra", 10 | "synonyms": [ 11 | "Boonstra" 12 | ] 13 | } 14 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/intents/Default Welcome Intent_usersays_nl.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "e6343c77-ce2e-4e01-a320-12743c582b31", 4 | "data": [ 5 | { 6 | "text": "Hallo", 7 | "userDefined": false 8 | } 9 | ], 10 | "isTemplate": false, 11 | "count": 0, 12 | "updated": 0 13 | }, 14 | { 15 | "id": "ec1483b4-ab00-44ac-afdf-f8ded29bb51a", 16 | "data": [ 17 | { 18 | "text": "Hey", 19 | "userDefined": false 20 | } 21 | ], 22 | "isTemplate": false, 23 | "count": 0, 24 | "updated": 0 25 | }, 26 | { 27 | "id": "1b9244c3-bc3a-4d21-931f-a242b5d33723", 28 | "data": [ 29 | { 30 | "text": "Hoi", 31 | "userDefined": false 32 | } 33 | ], 34 | "isTemplate": false, 35 | "count": 0, 36 | "updated": 0 37 | }, 38 | { 39 | "id": "c853a646-e5b7-4944-9252-de91185667be", 40 | "data": [ 41 | { 42 | "text": "Hi", 43 | "meta": "@sys.ignore", 44 | "userDefined": false 45 | } 46 | ], 47 | "isTemplate": false, 48 | "count": 0, 49 | "updated": 0 50 | } 51 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/intents/[bot-first-greeting] Introduction_usersays_en.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "38e4b655-1ba3-4358-931e-83eaeac381e2", 4 | "data": [ 5 | { 6 | "text": "botHi", 7 | "userDefined": false 8 | } 9 | ], 10 | "isTemplate": false, 11 | "count": 0, 12 | "updated": 0 13 | } 14 | ] -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/intents/[goodbye].json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "d285ecd6-fc6f-476a-983c-54554f74465f", 3 | "name": "[goodbye]", 4 | "auto": true, 5 | "contexts": [], 6 | "responses": [ 7 | { 8 | "resetContexts": false, 9 | "affectedContexts": [], 10 | "parameters": [], 11 | "messages": [ 12 | { 13 | "type": 0, 14 | "lang": "nl", 15 | "condition": "", 16 | "speech": [ 17 | "Okee. Een fijne dag nog.", 18 | "Okee. Tot de volgende keer!" 19 | ] 20 | }, 21 | { 22 | "type": 0, 23 | "lang": "en", 24 | "condition": "", 25 | "speech": [ 26 | "Alright. Have a nice day!", 27 | "See you next time. Good bye!" 28 | ] 29 | } 30 | ], 31 | "defaultResponsePlatforms": {}, 32 | "speech": [] 33 | } 34 | ], 35 | "priority": 500000, 36 | "webhookUsed": false, 37 | "webhookForSlotFilling": false, 38 | "fallbackIntent": false, 39 | "events": [], 40 | "conditionalResponses": [], 41 | "condition": "", 42 | "conditionalFollowupEvents": [] 43 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/intents/[usecase 3] paperwork insurance.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "82c8205b-de36-4075-a59b-0f09c864841b", 3 | "name": "[usecase 3] paperwork insurance", 4 | "auto": true, 5 | "contexts": [], 6 | "responses": [ 7 | { 8 | "resetContexts": false, 9 | "affectedContexts": [], 10 | "parameters": [], 11 | "messages": [ 12 | { 13 | "type": 0, 14 | "lang": "en", 15 | "condition": "", 16 | "speech": "I am happy to help with your paperwork!" 17 | } 18 | ], 19 | "defaultResponsePlatforms": {}, 20 | "speech": [] 21 | } 22 | ], 23 | "priority": 500000, 24 | "webhookUsed": false, 25 | "webhookForSlotFilling": false, 26 | "fallbackIntent": false, 27 | "events": [], 28 | "conditionalResponses": [], 29 | "condition": "", 30 | "conditionalFollowupEvents": [] 31 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/intents/[usecase 6] What_s my balance.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "3452e4a5-7183-4167-b3a4-d5572da4018d", 3 | "name": "[usecase 6] What\u0027s my balance", 4 | "auto": true, 5 | "contexts": [], 6 | "responses": [ 7 | { 8 | "resetContexts": false, 9 | "affectedContexts": [ 10 | { 11 | "name": "usecase6Whatsmysaldo-followup", 12 | "parameters": {}, 13 | "lifespan": 2 14 | } 15 | ], 16 | "parameters": [], 17 | "messages": [ 18 | { 19 | "type": 0, 20 | "lang": "en", 21 | "condition": "", 22 | "speech": [ 23 | "You currently have: -8101.90 euro in you account.", 24 | "Your balance is: -8101.90 euro" 25 | ] 26 | } 27 | ], 28 | "defaultResponsePlatforms": {}, 29 | "speech": [] 30 | } 31 | ], 32 | "priority": 500000, 33 | "webhookUsed": false, 34 | "webhookForSlotFilling": false, 35 | "fallbackIntent": false, 36 | "events": [], 37 | "conditionalResponses": [], 38 | "condition": "", 39 | "conditionalFollowupEvents": [] 40 | } -------------------------------------------------------------------------------- /chatserver/dialogflow/agent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0" 3 | } -------------------------------------------------------------------------------- /chatserver/env.txt: -------------------------------------------------------------------------------- 1 | GCLOUD_PROJECT=chatbotportal-prod 2 | DEV_AGENT_PROJECT_ID=chatbotportal-dev 3 | TEST_AGENT_PROJECT_ID=chatbotportal-test 4 | LANGUAGE_CODE=en-US 5 | GOOGLE_APPLICATION_CREDENTIALS=../master.json 6 | TOPIC=chatbotportal 7 | 8 | BQ_LOCATION=EU 9 | DATASET=chatanalytics 10 | TABLE=chatmessages 11 | SCHEMA="BOT_NAME,TEXT,POSTED:TIMESTAMP,SCORE:FLOAT,MAGNITUDE:FLOAT,INTENT_RESPONSE,INTENT_NAME,CONFIDENCE:FLOAT,IS_FALLBACK:BOOLEAN,IS_FULFILLMENT:BOOLEAN,IS_END_INTERACTION:BOOLEAN,PLATFORM,SESSION" 12 | 13 | DATASET_TEST_METRICS=conversationcoverage 14 | TABLE_TEST_METRICS=testmetrics 15 | SCHEMA_TEST_METRICS="TEST_DATE:TIMESTAMP,TEST_LANGUAGE,TEST_QUERY,EXPECTED_INTENT,DETECTED_INTENT,IS_FALLBACK:BOOLEAN,TEST_RESULT" 16 | GCLOUD_STORAGE_BUCKET_NAME="chatbotportalprod" 17 | 18 | MY_CHATBASE_VERSION="1.0" 19 | MY_CHATBASE_BOT_NAME="ChatbotPortal" 20 | MY_CHATBASE_KEY="keyhere" 21 | 22 | -------------------------------------------------------------------------------- /chatserver/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testEnvironment: 'node', 3 | transform: { 4 | "^.+\\.tsx?$": "ts-jest" 5 | }, 6 | moduleFileExtensions: [ 7 | "ts", 8 | "tsx", 9 | "js", 10 | "jsx", 11 | "json", 12 | "node", 13 | ], 14 | testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(ts|js)x?$', 15 | coverageDirectory: 'coverage', 16 | collectCoverageFrom: [ 17 | 'src/**/*.{ts,tsx,js,jsx}', 18 | '!src/**/*.d.ts', 19 | ], 20 | }; 21 | -------------------------------------------------------------------------------- /chatserver/src/chatconfig.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/chatserver/src/chatconfig.ts -------------------------------------------------------------------------------- /chatserver/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "moduleResolution": "node", 6 | "allowSyntheticDefaultImports": true, 7 | "allowJs": true, 8 | "importHelpers": true, 9 | "jsx": "react", 10 | "alwaysStrict": true, 11 | "sourceMap": true, 12 | "forceConsistentCasingInFileNames": true, 13 | "noFallthroughCasesInSwitch": true, 14 | "noImplicitReturns": true, 15 | "noUnusedLocals": true, 16 | "noUnusedParameters": true, 17 | "noImplicitAny": false, 18 | "noImplicitThis": false, 19 | "strictNullChecks": false, 20 | "strictFunctionTypes": false 21 | }, 22 | "include": [ 23 | "src/**/*", 24 | "__tests__/**/*" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /chatserver/tsconfig.release.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compileOnSave": true, 4 | "compilerOptions": { 5 | "removeComments": true, 6 | "rootDir": ".", 7 | "outDir": "dist" 8 | } 9 | } -------------------------------------------------------------------------------- /cloudbuilder/chatserver.yaml: -------------------------------------------------------------------------------- 1 | steps: 2 | # Build ChatServer Container 3 | - name: 'gcr.io/cloud-builders/docker' 4 | args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/chatserver-image', './chatserver' ] 5 | 6 | # Push updated ChatServer Container 7 | - id: 'Push ChatServer image to registry' 8 | name: 'gcr.io/cloud-builders/docker' 9 | args: [ 'push', 'gcr.io/$PROJECT_ID/chatserver-image' ] 10 | env: 11 | - 'CLOUDSDK_COMPUTE_ZONE=${_REGION}' 12 | - 'CLOUDSDK_CONTAINER_CLUSTER=${_GKE_CLUSTER}' 13 | 14 | -------------------------------------------------------------------------------- /cloudbuilder/django-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "extensions/v1beta1" 2 | kind: "Deployment" 3 | metadata: 4 | name: "django" 5 | namespace: "default" 6 | labels: 7 | app: "django" 8 | spec: 9 | replicas: 1 10 | selector: 11 | matchLabels: 12 | app: "django" 13 | template: 14 | metadata: 15 | labels: 16 | app: "django" 17 | spec: 18 | containers: 19 | - name: "django-image" 20 | image: "gcr.io/${PROJECT_ID}/django-image:latest" 21 | ports: 22 | - containerPort: 8080 -------------------------------------------------------------------------------- /cloudbuilder/django.yaml: -------------------------------------------------------------------------------- 1 | steps: 2 | # Build Django Container 3 | - name: 'gcr.io/cloud-builders/docker' 4 | args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/django-image', './server' ] 5 | 6 | # Push updated Django Container 7 | - id: 'Push Django image to registry' 8 | name: 'gcr.io/cloud-builders/docker' 9 | args: [ 'push', 'gcr.io/$PROJECT_ID/django-image' ] 10 | env: 11 | - 'CLOUDSDK_COMPUTE_ZONE=${_REGION}' 12 | - 'CLOUDSDK_CONTAINER_CLUSTER=${_GKE_CLUSTER}' -------------------------------------------------------------------------------- /cloudbuilder/front-end-deployment.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "extensions/v1beta1" 2 | kind: "Deployment" 3 | metadata: 4 | name: "front-end" 5 | namespace: "default" 6 | labels: 7 | app: "front-end" 8 | spec: 9 | replicas: 1 10 | selector: 11 | matchLabels: 12 | app: "front-end" 13 | template: 14 | metadata: 15 | labels: 16 | app: "front-end" 17 | spec: 18 | containers: 19 | - name: "front-end-image" 20 | image: "gcr.io/${PROJECT_ID}/front-end-image:latest" 21 | ports: 22 | - containerPort: 4200 23 | -------------------------------------------------------------------------------- /cloudbuilder/front-end.yaml: -------------------------------------------------------------------------------- 1 | steps: 2 | # Build New Front-end Container 3 | - name: 'gcr.io/cloud-builders/docker' 4 | args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/front-end-image', './front-end' ] 5 | 6 | # Push updated Front-end Container 7 | - id: 'Push Front-end image to registry' 8 | name: 'gcr.io/cloud-builders/docker' 9 | args: [ 'push', 'gcr.io/$PROJECT_ID/front-end-image' ] 10 | env: 11 | - 'CLOUDSDK_COMPUTE_ZONE=${_REGION}' 12 | - 'CLOUDSDK_CONTAINER_CLUSTER=${_GKE_CLUSTER}' 13 | 14 | -------------------------------------------------------------------------------- /cloudbuilder/services.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: chatserver-service 5 | spec: 6 | type: NodePort 7 | selector: 8 | app: chatserver 9 | ports: 10 | - port: 3000 11 | protocol: TCP 12 | targetPort: 3000 13 | --- 14 | apiVersion: v1 15 | kind: Service 16 | metadata: 17 | name: front-end-service 18 | spec: 19 | type: LoadBalancer 20 | #loadBalancerIP: 34.95.97.143 21 | selector: 22 | app: front-end 23 | ports: 24 | #how other other pods access our pod 25 | - port: 80 26 | protocol: TCP 27 | #port on target pods (multi-client pod) service talks 28 | targetPort: 80 29 | --- 30 | apiVersion: v1 31 | kind: Service 32 | metadata: 33 | name: django-service 34 | spec: 35 | type: NodePort 36 | selector: 37 | app: django 38 | ports: 39 | - port: 8080 40 | protocol: TCP 41 | targetPort: 8080 42 | -------------------------------------------------------------------------------- /cloudfunctions/chatanalytics/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chatanalytics", 3 | "version": "1.0.2", 4 | "dependencies": { 5 | "@google-cloud/bigquery": "^3.0.0", 6 | "@google-cloud/language": "^2.0.0", 7 | "@google-cloud/dlp": "^1.2.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | bold() { 3 | echo ". $(tput bold)" "$*" "$(tput sgr0)"; 4 | } 5 | 6 | err() { 7 | echo "$*" >&2; 8 | } 9 | 10 | bold "Set all vars..." 11 | set -a 12 | source ./properties 13 | set +a 14 | 15 | bold "Eval the templates & deploy..." 16 | envsubst < cloudbuilder/front-end-deployment.yaml | kubectl apply -f - 17 | envsubst < cloudbuilder/django-deployment.yaml | kubectl apply -f - 18 | envsubst < cloudbuilder/chatserver-deployment.yaml | kubectl apply -f - 19 | 20 | bold "Create services..." 21 | kubectl apply -f cloudbuilder/services.yaml -------------------------------------------------------------------------------- /deploymentmanager/lee.yaml: -------------------------------------------------------------------------------- 1 | resources: 2 | - name: my-topic 3 | type: gcp-types/pubsub-v1:projects.topics 4 | properties: 5 | topic: "my-topic" 6 | - name: my-topic-sub 7 | type: gcp-types/pubsub-v1:projects.subscriptions 8 | properties: 9 | subscription: "my-cloud-function" 10 | topic: $(ref.my-topic.name) 11 | pushConfig: 12 | pushEndpoint: "https://us-central1-gke-pipeline-savelee-192517.cloudfunctions.net/some-cloud-func" 13 | ackDeadlineSeconds: 60 14 | expirationPolicy: {} -------------------------------------------------------------------------------- /deploymentmanager/pubsubgcp.yaml: -------------------------------------------------------------------------------- 1 | imports: 2 | - path: pubsubgcp.py 3 | name: pubsubgcp.py 4 | 5 | resources: 6 | - name: test-pubsub-lee 7 | type: pubsubgcp.py 8 | properties: 9 | topic: test-topic 10 | subscriptions: 11 | - name: push-subscription 12 | pushEndpoint: https://us-central1-gke-pipeline-savelee-192517.cloudfunctions.net/some-cloud-func 13 | 14 | -------------------------------------------------------------------------------- /front-end/.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | .ipynb_checkpoints/* 3 | /notebooks/* 4 | /unused/* 5 | Dockerfile 6 | .DS_Store 7 | .gitignore 8 | README.md 9 | env.* 10 | /devops/* 11 | 12 | # To prevent storing dev/temporary container data 13 | *.csv 14 | /tmp/* 15 | keys 16 | master.json -------------------------------------------------------------------------------- /front-end/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /front-end/.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | # Only exists if Bazel was run 8 | /bazel-out 9 | 10 | # dependencies 11 | /node_modules 12 | 13 | # profiling files 14 | chrome-profiler-events.json 15 | speed-measure-plugin.json 16 | 17 | # IDEs and editors 18 | /.idea 19 | .project 20 | .classpath 21 | .c9/ 22 | *.launch 23 | .settings/ 24 | *.sublime-workspace 25 | 26 | # IDE - VSCode 27 | .vscode/* 28 | !.vscode/settings.json 29 | !.vscode/tasks.json 30 | !.vscode/launch.json 31 | !.vscode/extensions.json 32 | .history/* 33 | 34 | # misc 35 | /.sass-cache 36 | /connect.lock 37 | /coverage 38 | /libpeerconnection.log 39 | npm-debug.log 40 | yarn-error.log 41 | testem.log 42 | /typings 43 | 44 | # System Files 45 | .DS_Store 46 | Thumbs.db 47 | -------------------------------------------------------------------------------- /front-end/Dockerfile: -------------------------------------------------------------------------------- 1 | ### STAGE 1: Build ### 2 | FROM gcr.io/cloud-builders/npm as builder 3 | LABEL maintainer="Lee Boonstra" 4 | 5 | WORKDIR /my-app 6 | 7 | COPY package.json /my-app/ 8 | COPY angular.json /my-app/ 9 | COPY tsconfig.json /my-app/ 10 | COPY tslint.json /my-app/ 11 | 12 | RUN npm set progress=false && npm config set depth 0 && npm cache clean --force 13 | 14 | COPY /src/ /my-app/src/ 15 | 16 | RUN npm install typescript@">=3.2.2 <3.3.0" --save-dev --save-exact 17 | RUN npm install --force 18 | 19 | RUN npm run build 20 | 21 | ### STAGE 2: Setup ### 22 | FROM nginx:1.15 23 | 24 | ADD ./nginx/default.conf /etc/nginx/conf.d/ 25 | RUN rm -rf /usr/share/nginx/html/* 26 | 27 | COPY --from=builder /my-app/dist/front-end/ /usr/share/nginx/html 28 | 29 | CMD ["nginx", "-g", "daemon off;"] -------------------------------------------------------------------------------- /front-end/README.md: -------------------------------------------------------------------------------- 1 | # Webfront 2 | 3 | This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.3.9. 4 | 5 | ## Development server 6 | 7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. 8 | 9 | ## Code scaffolding 10 | 11 | Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. 12 | 13 | ## Build 14 | 15 | Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. 16 | 17 | ## Running unit tests 18 | 19 | Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). 20 | 21 | ## Running end-to-end tests 22 | 23 | Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). 24 | 25 | ## Further help 26 | 27 | To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). 28 | -------------------------------------------------------------------------------- /front-end/e2e/protractor.conf.js: -------------------------------------------------------------------------------- 1 | // Protractor configuration file, see link for more information 2 | // https://github.com/angular/protractor/blob/master/lib/config.ts 3 | 4 | const { SpecReporter } = require('jasmine-spec-reporter'); 5 | 6 | exports.config = { 7 | allScriptsTimeout: 11000, 8 | specs: [ 9 | './src/**/*.e2e-spec.ts' 10 | ], 11 | capabilities: { 12 | 'browserName': 'chrome' 13 | }, 14 | directConnect: true, 15 | baseUrl: 'http://localhost:4200/', 16 | framework: 'jasmine', 17 | jasmineNodeOpts: { 18 | showColors: true, 19 | defaultTimeoutInterval: 30000, 20 | print: function() {} 21 | }, 22 | onPrepare() { 23 | require('ts-node').register({ 24 | project: require('path').join(__dirname, './tsconfig.e2e.json') 25 | }); 26 | jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); 27 | } 28 | }; -------------------------------------------------------------------------------- /front-end/e2e/src/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { AppPage } from './app.po'; 2 | import { browser, logging } from 'protractor'; 3 | 4 | describe('workspace-project App', () => { 5 | let page: AppPage; 6 | 7 | beforeEach(() => { 8 | page = new AppPage(); 9 | }); 10 | 11 | it('should display welcome message', () => { 12 | page.navigateTo(); 13 | expect(page.getTitleText()).toEqual('Welcome to webfront!'); 14 | }); 15 | 16 | afterEach(async () => { 17 | // Assert that there are no errors emitted from the browser 18 | const logs = await browser.manage().logs().get(logging.Type.BROWSER); 19 | expect(logs).not.toContain(jasmine.objectContaining({ 20 | level: logging.Level.SEVERE, 21 | } as logging.Entry)); 22 | }); 23 | }); 24 | -------------------------------------------------------------------------------- /front-end/e2e/src/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo() { 5 | return browser.get(browser.baseUrl) as Promise; 6 | } 7 | 8 | getTitleText() { 9 | return element(by.css('app-root h1')).getText() as Promise; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /front-end/e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "types": [ 8 | "jasmine", 9 | "jasminewd2", 10 | "node" 11 | ] 12 | } 13 | } -------------------------------------------------------------------------------- /front-end/src/app/admin-config/admin-config.component.html: -------------------------------------------------------------------------------- 1 |
2 |

Configuration Panel

3 | 4 | 5 | 6 | TODO 7 | 8 | 9 | 10 |
-------------------------------------------------------------------------------- /front-end/src/app/admin-config/admin-config.component.scss: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | margin: 20px; 3 | } 4 | 5 | mat-card { 6 | margin: 12px; 7 | padding: 42px; 8 | } 9 | 10 | p { 11 | max-width: 600px; 12 | } 13 | 14 | iframe { 15 | width: 100%; 16 | border: none; 17 | } -------------------------------------------------------------------------------- /front-end/src/app/admin-config/admin-config.component.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @license 3 | * Copyright 2018 Google LLC 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * https://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | * ============================================================================= 17 | */ 18 | import { Component, OnInit } from '@angular/core'; 19 | 20 | @Component({ 21 | selector: 'app-config', 22 | templateUrl: './admin-config.component.html', 23 | styleUrls: ['./admin-config.component.scss'] 24 | }) 25 | export class AdminConfigComponent implements OnInit { 26 | 27 | constructor() { } 28 | 29 | ngOnInit() { 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /front-end/src/app/admin-dashboard/admin-dashboard.component.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | margin: 20px; 3 | } 4 | 5 | .dashboard-card { 6 | position: absolute; 7 | top: 15px; 8 | left: 15px; 9 | right: 15px; 10 | bottom: 15px; 11 | } 12 | 13 | .more-button { 14 | position: absolute; 15 | top: 5px; 16 | right: 10px; 17 | } 18 | 19 | .dashboard-card-content { 20 | text-align: center; 21 | } 22 | 23 | table { 24 | width: 100%; 25 | height: 100%; 26 | overflow: scroll; 27 | box-shadow: none; 28 | } 29 | 30 | td { 31 | text-align: left; 32 | } 33 | 34 | .number { 35 | font-size: 25px; 36 | } 37 | 38 | mat-card { 39 | overflow: auto; 40 | } 41 | 42 | .searchbar { 43 | width: 400px; 44 | } 45 | 46 | .cardbar { 47 | font-size: 12px; 48 | } 49 | 50 | button { 51 | margin-left: 20px; 52 | } -------------------------------------------------------------------------------- /front-end/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /front-end/src/app/app.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/app/app.component.scss -------------------------------------------------------------------------------- /front-end/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-root', 5 | templateUrl: './app.component.html', 6 | styleUrls: ['./app.component.scss'] 7 | }) 8 | export class AppComponent { 9 | title = 'front-end'; 10 | } 11 | -------------------------------------------------------------------------------- /front-end/src/app/balance/mic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/app/balance/mic.png -------------------------------------------------------------------------------- /front-end/src/app/faq/faq.component.html: -------------------------------------------------------------------------------- 1 |
2 |

FAQ

3 | 4 | 5 | 6 | http://www.futurebank.nl/assets/html/faq/faq.html 7 | 8 | 9 | 10 | 11 | 12 | 13 |
-------------------------------------------------------------------------------- /front-end/src/app/faq/faq.component.scss: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | margin: 20px; 3 | } 4 | 5 | mat-card { 6 | margin: 12px; 7 | padding: 42px; 8 | } 9 | 10 | p { 11 | max-width: 600px; 12 | } 13 | 14 | iframe { 15 | width: 100%; 16 | border: none; 17 | } -------------------------------------------------------------------------------- /front-end/src/app/faq/faq.component.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @license 3 | * Copyright 2018 Google LLC 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * https://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | * ============================================================================= 17 | */ 18 | import { Component, OnInit } from '@angular/core'; 19 | 20 | @Component({ 21 | selector: 'app-faq', 22 | templateUrl: './faq.component.html', 23 | styleUrls: ['./faq.component.scss'] 24 | }) 25 | export class FaqComponent implements OnInit { 26 | 27 | constructor() { } 28 | 29 | ngOnInit() { 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /front-end/src/app/login/login.component.html: -------------------------------------------------------------------------------- 1 |
2 | Welcome {{username}} 3 | 4 |
5 | 6 | 7 | 16 | 17 | -------------------------------------------------------------------------------- /front-end/src/app/login/login.component.scss: -------------------------------------------------------------------------------- 1 | .logout-form, 2 | .login-form { 3 | position: absolute; 4 | right: 10px; 5 | top: 10px; 6 | } 7 | 8 | .login-form .mat-form-field { 9 | margin-right: 10px; 10 | font-size: 60%; 11 | } 12 | 13 | .logout-form { 14 | font-size: 80%; 15 | padding-top: 5px; 16 | strong{ 17 | margin-right: 10px; 18 | } 19 | } -------------------------------------------------------------------------------- /front-end/src/app/my-nav/my-nav.component.scss: -------------------------------------------------------------------------------- 1 | .sidenav-container { 2 | height: 100%; 3 | } 4 | 5 | .sidenav { 6 | width: 200px; 7 | } 8 | 9 | .sidenav mat-toolbar { 10 | background: #4285F4 !important; 11 | color: #fff; 12 | padding-left: 24px; 13 | } 14 | 15 | .sidenav mat-nav-list { 16 | padding-left: 8px; 17 | } 18 | 19 | .mat-toolbar.mat-primary { 20 | position: sticky; 21 | top: 0; 22 | z-index: 1; 23 | } 24 | 25 | mat-sidenav-container { 26 | background: #4285F4; 27 | } 28 | 29 | mat-toolbar { 30 | background: #fff; 31 | } -------------------------------------------------------------------------------- /front-end/src/app/support/chatavatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/app/support/chatavatar.png -------------------------------------------------------------------------------- /front-end/src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/.gitkeep -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Bold.eot -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Bold.ttf -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Bold.woff -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Bold.woff2 -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-BoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-BoldItalic.eot -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-BoldItalic.ttf -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-BoldItalic.woff -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-BoldItalic.woff2 -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Italic.eot -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Italic.ttf -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Italic.woff -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Italic.woff2 -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Medium.eot -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Medium.ttf -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Medium.woff -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Medium.woff2 -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-MediumItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-MediumItalic.eot -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-MediumItalic.ttf -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-MediumItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-MediumItalic.woff -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-MediumItalic.woff2 -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Regular.eot -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Regular.ttf -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Regular.woff -------------------------------------------------------------------------------- /front-end/src/assets/fonts/GoogleSans-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/fonts/GoogleSans-Regular.woff2 -------------------------------------------------------------------------------- /front-end/src/assets/img/logos/bank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/img/logos/bank.png -------------------------------------------------------------------------------- /front-end/src/assets/img/logos/gamemania.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/img/logos/gamemania.png -------------------------------------------------------------------------------- /front-end/src/assets/img/logos/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/img/logos/google.png -------------------------------------------------------------------------------- /front-end/src/assets/img/logos/pizza.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/img/logos/pizza.png -------------------------------------------------------------------------------- /front-end/src/assets/img/logos/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/img/logos/profile.png -------------------------------------------------------------------------------- /front-end/src/assets/img/logos/tcalogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/img/logos/tcalogo.png -------------------------------------------------------------------------------- /front-end/src/assets/img/logos/uberlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/assets/img/logos/uberlogo.png -------------------------------------------------------------------------------- /front-end/src/browserslist: -------------------------------------------------------------------------------- 1 | # This file is currently used by autoprefixer to adjust CSS to support the below specified browsers 2 | # For additional information regarding the format and rule options, please see: 3 | # https://github.com/browserslist/browserslist#queries 4 | # 5 | # For IE 9-11 support, please remove 'not' from the last line of the file and adjust as needed 6 | 7 | > 0.5% 8 | last 2 versions 9 | Firefox ESR 10 | not dead 11 | not IE 9-11 -------------------------------------------------------------------------------- /front-end/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /front-end/src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // This file can be replaced during build by using the `fileReplacements` array. 2 | // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. 3 | // The list of file replacements can be found in `angular.json`. 4 | 5 | export const environment = { 6 | production: false 7 | }; 8 | 9 | /* 10 | * For easier debugging in development mode, you can import the following file 11 | * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. 12 | * 13 | * This import should be commented out in production mode because it will have a negative impact 14 | * on performance if an error is thrown. 15 | */ 16 | // import 'zone.js/dist/zone-error'; // Included with Angular CLI. 17 | -------------------------------------------------------------------------------- /front-end/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/front-end/src/favicon.ico -------------------------------------------------------------------------------- /front-end/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | The Bank of the Future 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /front-end/src/karma.conf.js: -------------------------------------------------------------------------------- 1 | // Karma configuration file, see link for more information 2 | // https://karma-runner.github.io/1.0/config/configuration-file.html 3 | 4 | module.exports = function (config) { 5 | config.set({ 6 | basePath: '', 7 | frameworks: ['jasmine', '@angular-devkit/build-angular'], 8 | plugins: [ 9 | require('karma-jasmine'), 10 | require('karma-chrome-launcher'), 11 | require('karma-jasmine-html-reporter'), 12 | require('karma-coverage-istanbul-reporter'), 13 | require('@angular-devkit/build-angular/plugins/karma') 14 | ], 15 | client: { 16 | clearContext: false // leave Jasmine Spec Runner output visible in browser 17 | }, 18 | coverageIstanbulReporter: { 19 | dir: require('path').join(__dirname, '../coverage/webfront'), 20 | reports: ['html', 'lcovonly', 'text-summary'], 21 | fixWebpackSourcePaths: true 22 | }, 23 | reporters: ['progress', 'kjhtml'], 24 | port: 9876, 25 | colors: true, 26 | logLevel: config.LOG_INFO, 27 | autoWatch: true, 28 | browsers: ['Chrome'], 29 | singleRun: false, 30 | restartOnFileChange: true 31 | }); 32 | }; 33 | -------------------------------------------------------------------------------- /front-end/src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic().bootstrapModule(AppModule) 12 | .catch(err => console.error(err)); 13 | -------------------------------------------------------------------------------- /front-end/src/styles.scss: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | -------------------------------------------------------------------------------- /front-end/src/test.ts: -------------------------------------------------------------------------------- 1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files 2 | 3 | import 'zone.js/dist/zone-testing'; 4 | import { getTestBed } from '@angular/core/testing'; 5 | import { 6 | BrowserDynamicTestingModule, 7 | platformBrowserDynamicTesting 8 | } from '@angular/platform-browser-dynamic/testing'; 9 | 10 | declare const require: any; 11 | 12 | // First, initialize the Angular testing environment. 13 | getTestBed().initTestEnvironment( 14 | BrowserDynamicTestingModule, 15 | platformBrowserDynamicTesting() 16 | ); 17 | // Then we find all the tests. 18 | const context = require.context('./', true, /\.spec\.ts$/); 19 | // And load the modules. 20 | context.keys().map(context); 21 | -------------------------------------------------------------------------------- /front-end/src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "types": [] 6 | }, 7 | "exclude": [ 8 | "test.ts", 9 | "**/*.spec.ts" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /front-end/src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/spec", 5 | "types": [ 6 | "jasmine", 7 | "node" 8 | ] 9 | }, 10 | "files": [ 11 | "test.ts", 12 | "polyfills.ts" 13 | ], 14 | "include": [ 15 | "**/*.spec.ts", 16 | "**/*.d.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /front-end/src/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tslint.json", 3 | "rules": { 4 | "directive-selector": [ 5 | true, 6 | "attribute", 7 | "app", 8 | "camelCase" 9 | ], 10 | "component-selector": [ 11 | true, 12 | "element", 13 | "app", 14 | "kebab-case" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /front-end/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "baseUrl": "./", 5 | "outDir": "./dist/out-tsc", 6 | "sourceMap": true, 7 | "declaration": false, 8 | "module": "es2015", 9 | "moduleResolution": "node", 10 | "emitDecoratorMetadata": true, 11 | "experimentalDecorators": true, 12 | "importHelpers": true, 13 | "target": "es5", 14 | "typeRoots": [ 15 | "node_modules/@types" 16 | ], 17 | "lib": [ 18 | "es2018", 19 | "dom" 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /images/architecture1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/images/architecture1.png -------------------------------------------------------------------------------- /images/architecture2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/images/architecture2.png -------------------------------------------------------------------------------- /images/avatar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/images/avatar -------------------------------------------------------------------------------- /images/chatavatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/images/chatavatar.png -------------------------------------------------------------------------------- /images/chatavatar1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/images/chatavatar1.png -------------------------------------------------------------------------------- /images/fileananalytics-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/images/fileananalytics-architecture.png -------------------------------------------------------------------------------- /images/website.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/images/website.png -------------------------------------------------------------------------------- /megabot/request.json: -------------------------------------------------------------------------------- 1 | { 2 | "subAgents": [ 3 | {"project": "projects/lee-cbtest"}, 4 | {"project": "projects/leeboonstra-dev"} 5 | ] 6 | } 7 | 8 | -------------------------------------------------------------------------------- /properties: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # install script 4 | PROJECT_ID=$(gcloud info --format='value(config.project)') 5 | PROD_AGENT_NAME=chatbotportal 6 | PROJECT_NUMBER="$(gcloud projects list --filter="name:$PROJECT_ID" --format="value(projectId)")" 7 | 8 | VERSION=1.0.0 9 | COMMIT_SHA=`git rev-parse HEAD` 10 | CLOUD_BUILD_EMAIL=$PROJECT_NUMBER@cloudbuild.gserviceaccount.com 11 | 12 | # setup service account 13 | SERVICE_ACCOUNT_NAME="chatbotportal-app" 14 | CLOUD_BUILD_EMAIL=$PROJECT_NUMBER@cloudbuild.gserviceaccount.com 15 | 16 | # Storage Bucket 17 | GCLOUD_STORAGE_BUCKET_NAME=$PROJECT_NUMBER-app 18 | 19 | # setup GKE 20 | MIN_NODES=1 21 | MAX_NODES=4 22 | GKE_CLUSTER=chatbotportal 23 | REGION=europe-west4-a 24 | REGION_ALTERNATIVE=europe-west1 25 | # setup Cloud Functions 26 | CF_ANALYTICS=chatanalytics 27 | 28 | # TODO get environment vars 29 | 30 | 31 | -------------------------------------------------------------------------------- /server/.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | .ipynb_checkpoints/* 3 | /notebooks/* 4 | /unused/* 5 | Dockerfile 6 | .DS_Store 7 | .gitignore 8 | README.md 9 | env.* 10 | /devops/* 11 | 12 | # To prevent storing dev/temporary container data 13 | *.csv 14 | /tmp/* 15 | keys 16 | master.json -------------------------------------------------------------------------------- /server/Dockerfile: -------------------------------------------------------------------------------- 1 | # https://cloud.google.com/python/django/kubernetes-engine 2 | 3 | FROM gcr.io/google_appengine/python 4 | 5 | LABEL maintainer="Lee Boonstra" 6 | 7 | RUN virtualenv /env -p python3.6 8 | ENV PATH /env/bin:$PATH 9 | 10 | ADD ./requirements.txt ./ 11 | RUN pip install -r requirements.txt 12 | 13 | ADD . /app 14 | 15 | RUN chmod +x ./entrypoint.sh 16 | CMD ./entrypoint.sh 17 | 18 | CMD gunicorn -b :$PORT mysite.wsgi -------------------------------------------------------------------------------- /server/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Collect Static files" 4 | exec bin/python manage.py collectstatic --noinput 5 | 6 | # Apply database migrations 7 | echo "Apply database migrations" 8 | exec bin/python manage.py migrate -------------------------------------------------------------------------------- /server/game/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/game/__init__.py -------------------------------------------------------------------------------- /server/game/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from .models import Game 3 | 4 | admin.site.register(Game) -------------------------------------------------------------------------------- /server/game/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class GameConfig(AppConfig): 5 | name = 'game' 6 | -------------------------------------------------------------------------------- /server/game/forms.py: -------------------------------------------------------------------------------- 1 | from django import forms 2 | from .models import Game 3 | 4 | class GameForm(forms.ModelForm): 5 | class Meta: 6 | model = Game 7 | fields = ('author', 'id', 'name', 'platform', 'genre', 'publisher', 'release_date', 'description', 'image', 'rating', 'on_wish_list') 8 | -------------------------------------------------------------------------------- /server/game/migrations/0004_auto_20160626_1807.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2016-06-26 16:07 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('game', '0003_auto_20160626_1801'), 12 | ] 13 | 14 | operations = [ 15 | migrations.AlterField( 16 | model_name='game', 17 | name='genre', 18 | field=models.IntegerField(choices=[(0, 'Adventure'), (1, 'Action'), (2, 'Fighter'), (3, 'Music'), (4, 'Platformer'), (5, 'Puzzle'), (6, 'Racing'), (7, 'RPG'), (8, 'Sports'), (9, 'Strategy')]), 19 | ), 20 | migrations.AlterField( 21 | model_name='game', 22 | name='platform', 23 | field=models.IntegerField(choices=[(0, 'PS4'), (1, 'PS3'), (2, 'PS Vita'), (3, 'WII U'), (4, 'WII'), (5, '3DS'), (6, 'PC'), (7, 'XBONE'), (8, 'XBOX 360'), (9, 'iOS'), (10, 'Android')]), 24 | ), 25 | ] 26 | -------------------------------------------------------------------------------- /server/game/migrations/0005_auto_20160626_1810.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2016-06-26 16:10 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations, models 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('game', '0004_auto_20160626_1807'), 12 | ] 13 | 14 | operations = [ 15 | migrations.AlterField( 16 | model_name='game', 17 | name='genre', 18 | field=models.IntegerField(choices=[(0, 'Choose'), (1, 'Adventure'), (2, 'Action'), (3, 'Fighter'), (4, 'Music'), (5, 'Platformer'), (6, 'Puzzle'), (7, 'Racing'), (8, 'RPG'), (9, 'Sports'), (10, 'Strategy')]), 19 | ), 20 | migrations.AlterField( 21 | model_name='game', 22 | name='platform', 23 | field=models.IntegerField(choices=[(0, 'Choose'), (1, 'PS4'), (2, 'PS3'), (3, 'PS Vita'), (4, 'WII U'), (5, 'WII'), (6, '3DS'), (7, 'PC'), (8, 'XBONE'), (9, 'XBOX 360'), (10, 'iOS'), (11, 'Android')]), 24 | ), 25 | ] 26 | -------------------------------------------------------------------------------- /server/game/migrations/0006_auto_20160706_1338.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Generated by Django 1.9.7 on 2016-07-06 11:38 3 | from __future__ import unicode_literals 4 | 5 | from django.db import migrations 6 | 7 | 8 | class Migration(migrations.Migration): 9 | 10 | dependencies = [ 11 | ('game', '0005_auto_20160626_1810'), 12 | ] 13 | 14 | operations = [ 15 | migrations.RenameField( 16 | model_name='game', 17 | old_name='isWish', 18 | new_name='on_wish_list', 19 | ), 20 | ] 21 | -------------------------------------------------------------------------------- /server/game/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/game/migrations/__init__.py -------------------------------------------------------------------------------- /server/game/serializers.py: -------------------------------------------------------------------------------- 1 | from .models import Game 2 | from rest_framework import serializers 3 | 4 | class GameSerializer(serializers.HyperlinkedModelSerializer): 5 | 6 | class Meta: 7 | model = Game 8 | fields = ('author', 'id', 'name', 'platform', 'genre', 'publisher', 'release_date', 'description', 'image', 'rating', 'on_wish_list') 9 | -------------------------------------------------------------------------------- /server/game/templates/form.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | 3 | {% block content %} 4 | 5 |

Game

6 |
{% csrf_token %} 7 | {{ form.as_p }} 8 | 9 |
10 | {% endblock %} -------------------------------------------------------------------------------- /server/game/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /server/game/urls.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | from django.conf.urls import url, include 3 | 4 | from . import views 5 | 6 | urlpatterns = [ 7 | url(r'^$', views.overview, name='overview'), 8 | url(r'^games/(?P\d+)/$', views.game, name='game') 9 | # url(r'^games/new/$', views.game_new, name='game_new'), 10 | # url(r'^games/(?P\d+)/edit/$', views.game_edit, name='game_edit'), 11 | # url(r'^games/(?P\d+)/remove/$', views.game_remove, name='game_remove'), 12 | ] -------------------------------------------------------------------------------- /server/manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | import os 3 | import sys 4 | 5 | if __name__ == "__main__": 6 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") 7 | 8 | from django.core.management import execute_from_command_line 9 | 10 | execute_from_command_line(sys.argv) 11 | -------------------------------------------------------------------------------- /server/mysite/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/mysite/__init__.py -------------------------------------------------------------------------------- /server/mysite/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/mysite/models.py -------------------------------------------------------------------------------- /server/mysite/serializers.py: -------------------------------------------------------------------------------- 1 | from django.contrib.auth.models import User, Group 2 | from rest_framework import serializers 3 | 4 | class UserSerializer(serializers.HyperlinkedModelSerializer): 5 | class Meta: 6 | model = User 7 | fields = ('url', 'first_name', 'last_name', 'username', 'email', 'groups') 8 | 9 | class GroupSerializer(serializers.HyperlinkedModelSerializer): 10 | class Meta: 11 | model = Group 12 | fields = ('url', 'name') 13 | 14 | -------------------------------------------------------------------------------- /server/mysite/views.py: -------------------------------------------------------------------------------- 1 | from django.contrib.auth.models import User, Group 2 | from rest_framework import viewsets 3 | from .serializers import UserSerializer, GroupSerializer 4 | 5 | class UserViewSet(viewsets.ModelViewSet): 6 | """ 7 | API endpoint that allows users to be viewed or edited. 8 | """ 9 | queryset = User.objects.all().order_by('-date_joined') 10 | serializer_class = UserSerializer 11 | 12 | def get_object(self): 13 | pk = self.kwargs.get('pk') 14 | 15 | if pk == "current": 16 | return self.request.user 17 | 18 | return super(UserViewSet, self).get_object() 19 | 20 | 21 | class GroupViewSet(viewsets.ModelViewSet): 22 | """ 23 | API endpoint that allows groups to be viewed or edited. 24 | """ 25 | queryset = Group.objects.all() 26 | serializer_class = GroupSerializer 27 | -------------------------------------------------------------------------------- /server/mysite/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for dockerextdjango project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /server/requirements.txt: -------------------------------------------------------------------------------- 1 | bcrypt==3.1.4 2 | Django==2.2.2 3 | django-axes==4.0.1 4 | django-brutebuster==0.1.8 5 | django-cors-headers==2.1.0 6 | django-formtools==2.1 7 | django-polls==0.2.1 8 | django-registration==3.0.1 9 | djangorestframework==3.7.7 10 | djangorestframework-jwt==1.11.0 11 | flake8==3.5.0 12 | flake8-docstrings==1.3.0 13 | virtualenv==15.0.1 14 | whitenoise==3.3.1 15 | gunicorn==19.7.1 16 | -------------------------------------------------------------------------------- /server/static/admin/css/dashboard.7ac78187c567.css: -------------------------------------------------------------------------------- 1 | /* DASHBOARD */ 2 | 3 | .dashboard .module table th { 4 | width: 100%; 5 | } 6 | 7 | .dashboard .module table td { 8 | white-space: nowrap; 9 | } 10 | 11 | .dashboard .module table td a { 12 | display: block; 13 | padding-right: .6em; 14 | } 15 | 16 | /* RECENT ACTIONS MODULE */ 17 | 18 | .module ul.actionlist { 19 | margin-left: 0; 20 | } 21 | 22 | ul.actionlist li { 23 | list-style-type: none; 24 | overflow: hidden; 25 | text-overflow: ellipsis; 26 | -o-text-overflow: ellipsis; 27 | } 28 | -------------------------------------------------------------------------------- /server/static/admin/css/dashboard.css: -------------------------------------------------------------------------------- 1 | /* DASHBOARD */ 2 | 3 | .dashboard .module table th { 4 | width: 100%; 5 | } 6 | 7 | .dashboard .module table td { 8 | white-space: nowrap; 9 | } 10 | 11 | .dashboard .module table td a { 12 | display: block; 13 | padding-right: .6em; 14 | } 15 | 16 | /* RECENT ACTIONS MODULE */ 17 | 18 | .module ul.actionlist { 19 | margin-left: 0; 20 | } 21 | 22 | ul.actionlist li { 23 | list-style-type: none; 24 | overflow: hidden; 25 | text-overflow: ellipsis; 26 | -o-text-overflow: ellipsis; 27 | } 28 | -------------------------------------------------------------------------------- /server/static/admin/css/fonts.494e4ec545c9.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Roboto'; 3 | src: url("../fonts/Roboto-Bold-webfont.2ad99072841e.woff"); 4 | font-weight: 700; 5 | font-style: normal; 6 | } 7 | 8 | @font-face { 9 | font-family: 'Roboto'; 10 | src: url("../fonts/Roboto-Regular-webfont.ec39515ae8c6.woff"); 11 | font-weight: 400; 12 | font-style: normal; 13 | } 14 | 15 | @font-face { 16 | font-family: 'Roboto'; 17 | src: url("../fonts/Roboto-Light-webfont.b446c2399bb6.woff"); 18 | font-weight: 300; 19 | font-style: normal; 20 | } 21 | -------------------------------------------------------------------------------- /server/static/admin/css/fonts.cc6140298ba7.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Roboto'; 3 | src: url("../fonts/Roboto-Bold-webfont.2ad99072841e.woff"); 4 | font-weight: 700; 5 | font-style: normal; 6 | } 7 | 8 | @font-face { 9 | font-family: 'Roboto'; 10 | src: url("../fonts/Roboto-Regular-webfont.ec39515ae8c6.woff"); 11 | font-weight: 400; 12 | font-style: normal; 13 | } 14 | 15 | @font-face { 16 | font-family: 'Roboto'; 17 | src: url("../fonts/Roboto-Light-webfont.b446c2399bb6.woff"); 18 | font-weight: 300; 19 | font-style: normal; 20 | } 21 | -------------------------------------------------------------------------------- /server/static/admin/css/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Roboto'; 3 | src: url('../fonts/Roboto-Bold-webfont.woff'); 4 | font-weight: 700; 5 | font-style: normal; 6 | } 7 | 8 | @font-face { 9 | font-family: 'Roboto'; 10 | src: url('../fonts/Roboto-Regular-webfont.woff'); 11 | font-weight: 400; 12 | font-style: normal; 13 | } 14 | 15 | @font-face { 16 | font-family: 'Roboto'; 17 | src: url('../fonts/Roboto-Light-webfont.woff'); 18 | font-weight: 300; 19 | font-style: normal; 20 | } 21 | -------------------------------------------------------------------------------- /server/static/admin/fonts/README.2c3d0bcdede2.txt: -------------------------------------------------------------------------------- 1 | Roboto webfont source: https://www.google.com/fonts/specimen/Roboto 2 | Weights used in this project: Light (300), Regular (400), Bold (700) 3 | -------------------------------------------------------------------------------- /server/static/admin/fonts/README.txt: -------------------------------------------------------------------------------- 1 | Roboto webfont source: https://www.google.com/fonts/specimen/Roboto 2 | Weights used in this project: Light (300), Regular (400), Bold (700) 3 | -------------------------------------------------------------------------------- /server/static/admin/fonts/Roboto-Bold-webfont.2ad99072841e.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/admin/fonts/Roboto-Bold-webfont.2ad99072841e.woff -------------------------------------------------------------------------------- /server/static/admin/fonts/Roboto-Bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/admin/fonts/Roboto-Bold-webfont.woff -------------------------------------------------------------------------------- /server/static/admin/fonts/Roboto-Light-webfont.b446c2399bb6.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/admin/fonts/Roboto-Light-webfont.b446c2399bb6.woff -------------------------------------------------------------------------------- /server/static/admin/fonts/Roboto-Light-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/admin/fonts/Roboto-Light-webfont.woff -------------------------------------------------------------------------------- /server/static/admin/fonts/Roboto-Regular-webfont.ec39515ae8c6.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/admin/fonts/Roboto-Regular-webfont.ec39515ae8c6.woff -------------------------------------------------------------------------------- /server/static/admin/fonts/Roboto-Regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/admin/fonts/Roboto-Regular-webfont.woff -------------------------------------------------------------------------------- /server/static/admin/img/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Code Charm Ltd 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /server/static/admin/img/README.837277fa1908.txt: -------------------------------------------------------------------------------- 1 | All icons are taken from Font Awesome (http://fontawesome.io/) project. 2 | The Font Awesome font is licensed under the SIL OFL 1.1: 3 | - http://scripts.sil.org/OFL 4 | 5 | SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG 6 | Font-Awesome-SVG-PNG is licensed under the MIT license (see file license 7 | in current folder). 8 | -------------------------------------------------------------------------------- /server/static/admin/img/README.txt: -------------------------------------------------------------------------------- 1 | All icons are taken from Font Awesome (http://fontawesome.io/) project. 2 | The Font Awesome font is licensed under the SIL OFL 1.1: 3 | - http://scripts.sil.org/OFL 4 | 5 | SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG 6 | Font-Awesome-SVG-PNG is licensed under the MIT license (see file license 7 | in current folder). 8 | -------------------------------------------------------------------------------- /server/static/admin/img/calendar-icons.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /server/static/admin/img/gis/move_vertex_off.7a23bf31ef8a.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/static/admin/img/gis/move_vertex_off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/static/admin/img/gis/move_vertex_on.0047eba25b67.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/static/admin/img/gis/move_vertex_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-addlink.d519b3bab011.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-addlink.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-alert.034cc7d8a67f.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-alert.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-calendar.ac7aea671bea.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-calendar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-changelink.18d2fd706348.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-changelink.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-clock.e1d4dfac3f2b.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-clock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-deletelink.564ef9dc3854.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-deletelink.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-no.439e821418cd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-no.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-unknown-alt.81536e128bb6.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-unknown-alt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-unknown.a18cb4398978.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-unknown.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-yes.d2f9f035226a.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/icon-yes.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/inline-delete.fec1b761f254.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/inline-delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/search.7cf54ff789c6.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/tooltag-add.e59d620a9742.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/tooltag-add.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/tooltag-arrowright.bbfb788a849e.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/img/tooltag-arrowright.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /server/static/admin/js/cancel.1d69cba4b4bf.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | 'use strict'; 3 | $(function() { 4 | $('.cancel-link').click(function(e) { 5 | e.preventDefault(); 6 | window.history.back(); 7 | }); 8 | }); 9 | })(django.jQuery); 10 | -------------------------------------------------------------------------------- /server/static/admin/js/cancel.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | 'use strict'; 3 | $(function() { 4 | $('.cancel-link').click(function(e) { 5 | e.preventDefault(); 6 | window.history.back(); 7 | }); 8 | }); 9 | })(django.jQuery); 10 | -------------------------------------------------------------------------------- /server/static/admin/js/change_form.9e85003a1a38.js: -------------------------------------------------------------------------------- 1 | /*global showAddAnotherPopup, showRelatedObjectLookupPopup showRelatedObjectPopup updateRelatedObjectLinks*/ 2 | 3 | (function($) { 4 | 'use strict'; 5 | $(document).ready(function() { 6 | var modelName = $('#django-admin-form-add-constants').data('modelName'); 7 | $('body').on('click', '.add-another', function(e) { 8 | e.preventDefault(); 9 | var event = $.Event('django:add-another-related'); 10 | $(this).trigger(event); 11 | if (!event.isDefaultPrevented()) { 12 | showAddAnotherPopup(this); 13 | } 14 | }); 15 | 16 | if (modelName) { 17 | $('form#' + modelName + '_form :input:visible:enabled:first').focus(); 18 | } 19 | }); 20 | })(django.jQuery); 21 | -------------------------------------------------------------------------------- /server/static/admin/js/change_form.js: -------------------------------------------------------------------------------- 1 | /*global showAddAnotherPopup, showRelatedObjectLookupPopup showRelatedObjectPopup updateRelatedObjectLinks*/ 2 | 3 | (function($) { 4 | 'use strict'; 5 | $(document).ready(function() { 6 | var modelName = $('#django-admin-form-add-constants').data('modelName'); 7 | $('body').on('click', '.add-another', function(e) { 8 | e.preventDefault(); 9 | var event = $.Event('django:add-another-related'); 10 | $(this).trigger(event); 11 | if (!event.isDefaultPrevented()) { 12 | showAddAnotherPopup(this); 13 | } 14 | }); 15 | 16 | if (modelName) { 17 | $('form#' + modelName + '_form :input:visible:enabled:first').focus(); 18 | } 19 | }); 20 | })(django.jQuery); 21 | -------------------------------------------------------------------------------- /server/static/admin/js/jquery.init.95b62fa19378.js: -------------------------------------------------------------------------------- 1 | /*global django:true, jQuery:false*/ 2 | /* Puts the included jQuery into our own namespace using noConflict and passing 3 | * it 'true'. This ensures that the included jQuery doesn't pollute the global 4 | * namespace (i.e. this preserves pre-existing values for both window.$ and 5 | * window.jQuery). 6 | */ 7 | var django = django || {}; 8 | django.jQuery = jQuery.noConflict(true); 9 | -------------------------------------------------------------------------------- /server/static/admin/js/jquery.init.js: -------------------------------------------------------------------------------- 1 | /*global django:true, jQuery:false*/ 2 | /* Puts the included jQuery into our own namespace using noConflict and passing 3 | * it 'true'. This ensures that the included jQuery doesn't pollute the global 4 | * namespace (i.e. this preserves pre-existing values for both window.$ and 5 | * window.jQuery). 6 | */ 7 | var django = django || {}; 8 | django.jQuery = jQuery.noConflict(true); 9 | -------------------------------------------------------------------------------- /server/static/admin/js/popup_response.6ce3197f8fc8.js: -------------------------------------------------------------------------------- 1 | /*global opener */ 2 | (function() { 3 | 'use strict'; 4 | var initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); 5 | switch(initData.action) { 6 | case 'change': 7 | opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); 8 | break; 9 | case 'delete': 10 | opener.dismissDeleteRelatedObjectPopup(window, initData.value); 11 | break; 12 | default: 13 | opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); 14 | break; 15 | } 16 | })(); 17 | -------------------------------------------------------------------------------- /server/static/admin/js/popup_response.js: -------------------------------------------------------------------------------- 1 | /*global opener */ 2 | (function() { 3 | 'use strict'; 4 | var initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); 5 | switch(initData.action) { 6 | case 'change': 7 | opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); 8 | break; 9 | case 'delete': 10 | opener.dismissDeleteRelatedObjectPopup(window, initData.value); 11 | break; 12 | default: 13 | opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); 14 | break; 15 | } 16 | })(); 17 | -------------------------------------------------------------------------------- /server/static/admin/js/prepopulate.min.f4057ebb9b62.js: -------------------------------------------------------------------------------- 1 | (function(c){c.fn.prepopulate=function(e,f,g){return this.each(function(){var a=c(this),b=function(){if(!a.data("_changed")){var b=[];c.each(e,function(a,d){d=c(d);01&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/bg.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ca.2eaad4eb1950.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ca.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/da.cbf897a0ae53.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/da.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/de.366d0aacb55f.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/de.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/el.5629ce65500f.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/el.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/en.05649b26c086.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/en.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/es.dc9dbf9d65df.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/es.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/et.c3953fb90b6b.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/eu.11b925456433.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/eu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/fa.98e52839b583.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/fa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/fi.659847deefdc.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/fr.b06a3340de45.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/fr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/gl.78a87f7c0a51.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/gl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/he.222d90ee0344.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/he.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/hi.116a90b7111b.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/hi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/hr.e1d2c70b4df5.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/hr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/hu.db45641f10b2.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/hu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/id.6ee6c9c64b94.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/is.808c7d47acb5.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/it.bae1661dbb77.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/it.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ja.19cf1ce8a03d.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/km.6074a9c5575c.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ko.74b17541834f.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/lt.a0783b1bd159.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/lt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/lv.07fe2a580d17.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/lv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/mk.4986d7fc3ff3.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/mk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ms.23e7b4369579.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ms.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/nb.137e184004aa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/nl.c363ace8aa05.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/nl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/pl.76465b54a6b0.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/pl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/pt-BR.9efbbac4fda8.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/pt.5d6ccc53b347.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/pt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ro.1ddc2b9980dc.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ro.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ru.d83609abf2e0.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/ru.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/sk.a0f1a818d092.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/sk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/sr-Cyrl.2f3047aad49e.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/sr-Cyrl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/sr.157bc6eb978e.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/sr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/sv.2b21bb3f6110.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/th.2a4ece4c4355.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/tr.c1925d8817db.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/uk.3d56f311192d.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/uk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/vi.3520aa7bdea8.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/zh-CN.419002d3c6c1.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/zh-TW.c021537edf2c.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/admin/js/vendor/select2/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /server/static/css/site.6a544eeebc6a.css: -------------------------------------------------------------------------------- 1 | .page-header { 2 | background-color: #828282; 3 | margin-top: 0; 4 | padding: 20px 20px 20px 40px; 5 | } 6 | 7 | .page-header h1, .page-header h1 a, .page-header h1 a:visited, .page-header h1 a:active { 8 | color: #ffffff; 9 | font-size: 36pt; 10 | text-decoration: none; 11 | } 12 | 13 | .content { 14 | margin-left: 40px; 15 | } 16 | 17 | h1, h2, h3, h4 { 18 | font-family: 'Lobster', cursive; 19 | } 20 | 21 | .date { 22 | color: #828282; 23 | } 24 | 25 | .save { 26 | float: right; 27 | } 28 | 29 | .post-form textarea, .post-form input { 30 | width: 100%; 31 | } 32 | 33 | .top-menu, .top-menu:hover, .top-menu:visited { 34 | color: #ffffff; 35 | float: right; 36 | font-size: 26pt; 37 | margin-right: 20px; 38 | } 39 | 40 | .post { 41 | margin-bottom: 70px; 42 | } 43 | 44 | .post h1 a, .post h1 a:visited { 45 | color: #000000; 46 | } -------------------------------------------------------------------------------- /server/static/css/site.css: -------------------------------------------------------------------------------- 1 | .page-header { 2 | background-color: #828282; 3 | margin-top: 0; 4 | padding: 20px 20px 20px 40px; 5 | } 6 | 7 | .page-header h1, .page-header h1 a, .page-header h1 a:visited, .page-header h1 a:active { 8 | color: #ffffff; 9 | font-size: 36pt; 10 | text-decoration: none; 11 | } 12 | 13 | .content { 14 | margin-left: 40px; 15 | } 16 | 17 | h1, h2, h3, h4 { 18 | font-family: 'Lobster', cursive; 19 | } 20 | 21 | .date { 22 | color: #828282; 23 | } 24 | 25 | .save { 26 | float: right; 27 | } 28 | 29 | .post-form textarea, .post-form input { 30 | width: 100%; 31 | } 32 | 33 | .top-menu, .top-menu:hover, .top-menu:visited { 34 | color: #ffffff; 35 | float: right; 36 | font-size: 26pt; 37 | margin-right: 20px; 38 | } 39 | 40 | .post { 41 | margin-bottom: 70px; 42 | } 43 | 44 | .post h1 a, .post h1 a:visited { 45 | color: #000000; 46 | } -------------------------------------------------------------------------------- /server/static/rest_framework/css/prettify.a987f72342ee.css: -------------------------------------------------------------------------------- 1 | .com { color: #93a1a1; } 2 | .lit { color: #195f91; } 3 | .pun, .opn, .clo { color: #93a1a1; } 4 | .fun { color: #dc322f; } 5 | .str, .atv { color: #D14; } 6 | .kwd, .prettyprint .tag { color: #1e347b; } 7 | .typ, .atn, .dec, .var { color: teal; } 8 | .pln { color: #48484c; } 9 | 10 | .prettyprint { 11 | padding: 8px; 12 | background-color: #f7f7f9; 13 | border: 1px solid #e1e1e8; 14 | } 15 | .prettyprint.linenums { 16 | -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 17 | -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 18 | box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 19 | } 20 | 21 | /* Specify class=linenums on a pre to get line numbering */ 22 | ol.linenums { 23 | margin: 0 0 0 33px; /* IE indents via margin-left */ 24 | } 25 | ol.linenums li { 26 | padding-left: 12px; 27 | color: #bebec5; 28 | line-height: 20px; 29 | text-shadow: 0 1px 0 #fff; 30 | } -------------------------------------------------------------------------------- /server/static/rest_framework/css/prettify.css: -------------------------------------------------------------------------------- 1 | .com { color: #93a1a1; } 2 | .lit { color: #195f91; } 3 | .pun, .opn, .clo { color: #93a1a1; } 4 | .fun { color: #dc322f; } 5 | .str, .atv { color: #D14; } 6 | .kwd, .prettyprint .tag { color: #1e347b; } 7 | .typ, .atn, .dec, .var { color: teal; } 8 | .pln { color: #48484c; } 9 | 10 | .prettyprint { 11 | padding: 8px; 12 | background-color: #f7f7f9; 13 | border: 1px solid #e1e1e8; 14 | } 15 | .prettyprint.linenums { 16 | -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 17 | -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 18 | box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 19 | } 20 | 21 | /* Specify class=linenums on a pre to get line numbering */ 22 | ol.linenums { 23 | margin: 0 0 0 33px; /* IE indents via margin-left */ 24 | } 25 | ol.linenums li { 26 | padding-left: 12px; 27 | color: #bebec5; 28 | line-height: 20px; 29 | text-shadow: 0 1px 0 #fff; 30 | } -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/fontawesome-webfont.3293616ec0c6.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/fontawesome-webfont.3293616ec0c6.woff -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/fontawesome-webfont.8b27bc96115c.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/fontawesome-webfont.8b27bc96115c.eot -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/fontawesome-webfont.dcb26c7239d8.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/fontawesome-webfont.dcb26c7239d8.ttf -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.448c34a56d69.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.448c34a56d69.woff2 -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.fa2772327f55.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.fa2772327f55.woff -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /server/static/rest_framework/docs/img/favicon.5195b4d0f3eb.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/img/favicon.5195b4d0f3eb.ico -------------------------------------------------------------------------------- /server/static/rest_framework/docs/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/img/favicon.ico -------------------------------------------------------------------------------- /server/static/rest_framework/docs/img/grid.a4b938cf382b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/img/grid.a4b938cf382b.png -------------------------------------------------------------------------------- /server/static/rest_framework/docs/img/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/docs/img/grid.png -------------------------------------------------------------------------------- /server/static/rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/fonts/glyphicons-halflings-regular.448c34a56d69.woff2 -------------------------------------------------------------------------------- /server/static/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/fonts/glyphicons-halflings-regular.e18bbf611f2a.ttf -------------------------------------------------------------------------------- /server/static/rest_framework/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /server/static/rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/fonts/glyphicons-halflings-regular.f4769f9bdb74.eot -------------------------------------------------------------------------------- /server/static/rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/fonts/glyphicons-halflings-regular.fa2772327f55.woff -------------------------------------------------------------------------------- /server/static/rest_framework/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /server/static/rest_framework/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /server/static/rest_framework/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /server/static/rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/img/glyphicons-halflings-white.9bbc6e960299.png -------------------------------------------------------------------------------- /server/static/rest_framework/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /server/static/rest_framework/img/glyphicons-halflings.90233c9067e9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/img/glyphicons-halflings.90233c9067e9.png -------------------------------------------------------------------------------- /server/static/rest_framework/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /server/static/rest_framework/img/grid.a4b938cf382b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/img/grid.a4b938cf382b.png -------------------------------------------------------------------------------- /server/static/rest_framework/img/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/savelee/kube-django-ng/430c64e987690b7e6e80f11288d82e094e8b8856/server/static/rest_framework/img/grid.png --------------------------------------------------------------------------------