diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95af46d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +node_modules +dist +# Keep environment variables out of version control +.env +build \ No newline at end of file diff --git a/backend/package-lock.json b/backend/package-lock.json new file mode 100644 index 0000000..51fc668 --- /dev/null +++ b/backend/package-lock.json @@ -0,0 +1,841 @@ +{ + "name": "backend", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "backend", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@prisma/client": "^5.3.1", + "chalk": "^4.0.0", + "dotenv": "^16.3.1", + "express": "^4.18.2", + "prisma": "^5.3.1" + }, + "devDependencies": { + "@types/express": "latest", + "@types/node": "latest", + "typescript": "^5.2.2" + } + }, + "node_modules/@prisma/client": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.3.1.tgz", + "integrity": "sha512-ArOKjHwdFZIe1cGU56oIfy7wRuTn0FfZjGuU/AjgEBOQh+4rDkB6nF+AGHP8KaVpkBIiHGPQh3IpwQ3xDMdO0Q==", + "hasInstallScript": true, + "dependencies": { + "@prisma/engines-version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59" + }, + "engines": { + "node": ">=16.13" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, + "node_modules/@prisma/engines": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.3.1.tgz", + "integrity": "sha512-6QkILNyfeeN67BNEPEtkgh3Xo2tm6D7V+UhrkBbRHqKw9CTaz/vvTP/ROwYSP/3JT2MtIutZm/EnhxUiuOPVDA==", + "hasInstallScript": true + }, + "node_modules/@prisma/engines-version": { + "version": "5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.3.1-2.61e140623197a131c2a6189271ffee05a7aa9a59.tgz", + "integrity": "sha512-y5qbUi3ql2Xg7XraqcXEdMHh0MocBfnBzDn5GbV1xk23S3Mq8MGs+VjacTNiBh3dtEdUERCrUUG7Z3QaJ+h79w==" + }, + "node_modules/@types/body-parser": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.3.tgz", + "integrity": "sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.36", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.36.tgz", + "integrity": "sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.36", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz", + "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.2.tgz", + "integrity": "sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.6.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.2.tgz", + "integrity": "sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/prisma": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.3.1.tgz", + "integrity": "sha512-Wp2msQIlMPHe+5k5Od6xnsI/WNG7UJGgFUJgqv/ygc7kOECZapcSz/iU4NIEzISs3H1W9sFLjAPbg/gOqqtB7A==", + "hasInstallScript": true, + "dependencies": { + "@prisma/engines": "5.3.1" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": ">=16.13" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + } + } +} diff --git a/backend/package.json b/backend/package.json new file mode 100644 index 0000000..5cb630d --- /dev/null +++ b/backend/package.json @@ -0,0 +1,24 @@ +{ + "name": "backend", + "version": "1.0.0", + "description": "", + "main": "./dist/index.js", + "scripts": { + "start": "npx tsc && node dist/index.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@prisma/client": "^5.3.1", + "chalk": "^4.0.0", + "dotenv": "^16.3.1", + "express": "^4.18.2", + "prisma": "^5.3.1" + }, + "devDependencies": { + "@types/express": "latest", + "@types/node": "latest", + "typescript": "^5.2.2" + } +} diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma new file mode 100644 index 0000000..eda633d --- /dev/null +++ b/backend/prisma/schema.prisma @@ -0,0 +1,25 @@ +generator client { + provider = "prisma-client-js" + previewFeatures = ["postgresqlExtensions"] +} + +datasource db { + provider = "postgresql" + url = env("DATABASE_URL") + extensions = [uuid_ossp(map: "uuid-ossp")] +} + +model users { + ID String @id @default(dbgenerated("uuid_generate_v1()")) @db.Uuid + username String + password String @db.VarChar(128) + token String @db.VarChar(128) +} + +model Mitarbeiter { + ID String @id @default(dbgenerated("uuid_generate_v4()")) @db.Uuid + Vorname String + Nachname String + Anstelldatum DateTime @db.Date + Geburtstag DateTime @db.Date +} diff --git a/backend/public/AdvanTex.jpg b/backend/public/AdvanTex.jpg new file mode 100644 index 0000000..3e7e720 Binary files /dev/null and b/backend/public/AdvanTex.jpg differ diff --git a/backend/public/asset-manifest.json b/backend/public/asset-manifest.json new file mode 100644 index 0000000..e0168f8 --- /dev/null +++ b/backend/public/asset-manifest.json @@ -0,0 +1,21 @@ +{ + "files": { + "main.css": "/static/css/main.3145608a.css", + "main.js": "/static/js/main.20c1133d.js", + "static/media/lexend-latin-wght-normal.woff2": "/static/media/lexend-latin-wght-normal.f0861a122355d47a9b27.woff2", + "static/media/overpass-latin-wght-normal.woff2": "/static/media/overpass-latin-wght-normal.4b83544cf101ef6f5e10.woff2", + "static/media/overpass-latin-ext-wght-normal.woff2": "/static/media/overpass-latin-ext-wght-normal.c7886930b5698c36c8d2.woff2", + "static/media/lexend-latin-ext-wght-normal.woff2": "/static/media/lexend-latin-ext-wght-normal.94b395946a6799fff8c8.woff2", + "static/media/overpass-cyrillic-wght-normal.woff2": "/static/media/overpass-cyrillic-wght-normal.5b31761fef8ac8222a1b.woff2", + "static/media/overpass-cyrillic-ext-wght-normal.woff2": "/static/media/overpass-cyrillic-ext-wght-normal.08d0aad8582d63a917c6.woff2", + "static/media/lexend-vietnamese-wght-normal.woff2": "/static/media/lexend-vietnamese-wght-normal.ac5494e335c7c2cb000d.woff2", + "static/media/overpass-vietnamese-wght-normal.woff2": "/static/media/overpass-vietnamese-wght-normal.d1e91653b90562a59206.woff2", + "index.html": "/index.html", + "main.3145608a.css.map": "/static/css/main.3145608a.css.map", + "main.20c1133d.js.map": "/static/js/main.20c1133d.js.map" + }, + "entrypoints": [ + "static/css/main.3145608a.css", + "static/js/main.20c1133d.js" + ] +} \ No newline at end of file diff --git a/backend/public/assets/background1.jpg b/backend/public/assets/background1.jpg new file mode 100644 index 0000000..819e370 Binary files /dev/null and b/backend/public/assets/background1.jpg differ diff --git a/backend/public/assets/background2.jpg b/backend/public/assets/background2.jpg new file mode 100644 index 0000000..bfb52fb Binary files /dev/null and b/backend/public/assets/background2.jpg differ diff --git a/backend/public/assets/backgroundvid1.webm b/backend/public/assets/backgroundvid1.webm new file mode 100644 index 0000000..50c62ea Binary files /dev/null and b/backend/public/assets/backgroundvid1.webm differ diff --git a/backend/public/assets/placeholderbanner.png b/backend/public/assets/placeholderbanner.png new file mode 100644 index 0000000..6522b6a Binary files /dev/null and b/backend/public/assets/placeholderbanner.png differ diff --git a/backend/public/assets/previewThing.png b/backend/public/assets/previewThing.png new file mode 100644 index 0000000..8301629 Binary files /dev/null and b/backend/public/assets/previewThing.png differ diff --git a/backend/public/index.html b/backend/public/index.html new file mode 100644 index 0000000..5ad23ac --- /dev/null +++ b/backend/public/index.html @@ -0,0 +1 @@ +DWL Birthdays
\ No newline at end of file diff --git a/backend/public/logo.png b/backend/public/logo.png new file mode 100644 index 0000000..660f8ec Binary files /dev/null and b/backend/public/logo.png differ diff --git a/backend/public/manifest.json b/backend/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/backend/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/backend/public/robots.txt b/backend/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/backend/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/backend/public/static/css/main.3145608a.css b/backend/public/static/css/main.3145608a.css new file mode 100644 index 0000000..e56101c --- /dev/null +++ b/backend/public/static/css/main.3145608a.css @@ -0,0 +1,2 @@ +body{margin:0;overflow-x:hidden;padding:0}body,label,span{font-family:Arial,Helvetica,sans-serif}@-webkit-keyframes gradientAnim{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes gradientAnim{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.nav-link{color:#005487;font-size:25px;font-weight:700;letter-spacing:.05em;line-height:24px;overflow:hidden;text-align:center;text-decoration:none;text-overflow:ellipsis;transition:all .3s ease 0s;white-space:nowrap;width:auto!important}.nav-link:after{background:#005487;content:"";display:block;height:2px;margin-left:auto;margin-right:auto;transition:width .3s ease 0s;width:0}.nav-link:hover:after{width:100%}.nav-link-left{color:#005487;font-size:25px;font-weight:700;letter-spacing:.05em;line-height:24px;overflow:hidden;text-align:center;text-decoration:none;text-overflow:ellipsis;transition:all .3s ease 0s;white-space:nowrap;width:auto!important}.nav-link-left:after{background:#fff;content:"";display:block;height:2px;margin-right:auto;transition:width .3s ease 0s;width:0}.nav-link-left:hover:after{width:100%}.se-resizing-bar{display:none!important}.sun-editor-editable{height:auto!important}.se-toolbar{position:-webkit-sticky!important;position:sticky!important;-webkit-transform:translate(-105px);transform:translate(-105px);width:100px!important;z-index:0!important}.se-btn-tray,.se-toolbar{flex-direction:column!important}.se-btn-tray{align-items:flex-start!important;display:flex!important;gap:2px!important}.se-wrapper{margin-top:-480px}.articleBanner{transition:.3s ease}.articleBanner:hover{-webkit-filter:brightness(.7);filter:brightness(.7)}a{color:#000;text-decoration:none}input[name=suneditor_image_radio]{display:none}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/static/media/overpass-cyrillic-ext-wght-normal.08d0aad8582d63a917c6.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/static/media/overpass-cyrillic-wght-normal.5b31761fef8ac8222a1b.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/static/media/overpass-vietnamese-wght-normal.d1e91653b90562a59206.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/static/media/overpass-latin-ext-wght-normal.c7886930b5698c36c8d2.woff2) format("woff2-variations");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Overpass Variable;font-style:normal;font-weight:100 900;src:url(/static/media/overpass-latin-wght-normal.4b83544cf101ef6f5e10.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Lexend Variable;font-style:normal;font-weight:100 900;src:url(/static/media/lexend-vietnamese-wght-normal.ac5494e335c7c2cb000d.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Lexend Variable;font-style:normal;font-weight:100 900;src:url(/static/media/lexend-latin-ext-wght-normal.94b395946a6799fff8c8.woff2) format("woff2-variations");unicode-range:u+0100-02af,u+0304,u+0308,u+0329,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Lexend Variable;font-style:normal;font-weight:100 900;src:url(/static/media/lexend-latin-wght-normal.f0861a122355d47a9b27.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd} +/*# sourceMappingURL=main.3145608a.css.map*/ \ No newline at end of file diff --git a/backend/public/static/css/main.3145608a.css.map b/backend/public/static/css/main.3145608a.css.map new file mode 100644 index 0000000..8314f79 --- /dev/null +++ b/backend/public/static/css/main.3145608a.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.3145608a.css","mappings":"AAAA,KACE,QAAS,CAET,iBAAkB,CADlB,SAGF,CAEA,gBAHE,sCAKF,CAEA,gCACE,GACE,yBACF,CACA,IACE,4BACF,CACA,GACE,yBACF,CACF,CAVA,wBACE,GACE,yBACF,CACA,IACE,4BACF,CACA,GACE,yBACF,CACF,CACA,UACE,aAAc,CAEd,cAAe,CADf,eAAiB,CAGjB,oBAAsB,CADtB,gBAAiB,CAMjB,eAAgB,CAJhB,iBAAkB,CAClB,oBAAqB,CAIrB,sBAAuB,CAHvB,0BAA4B,CAC5B,kBAAmB,CAGnB,oBACF,CAEA,gBAME,kBAAmB,CALnB,UAAW,CACX,aAAc,CAEd,UAAW,CAIX,gBAAiB,CACjB,iBAAkB,CAFlB,4BAA8B,CAJ9B,OAOF,CAEA,sBACE,UACF,CAMA,eACE,aAAc,CAEd,cAAe,CADf,eAAiB,CAGjB,oBAAsB,CADtB,gBAAiB,CAMjB,eAAgB,CAJhB,iBAAkB,CAClB,oBAAqB,CAIrB,sBAAuB,CAHvB,0BAA4B,CAC5B,kBAAmB,CAGnB,oBACF,CAEA,qBAME,eAAgB,CALhB,UAAW,CACX,aAAc,CAEd,UAAW,CAIX,iBAAkB,CADlB,4BAA8B,CAJ9B,OAMF,CAEA,2BACE,UACF,CAEA,iBACE,sBACF,CAEA,qBACE,qBACF,CAEA,YACE,iCAA2B,CAA3B,yBAA2B,CAI3B,mCAA4B,CAA5B,2BAA4B,CAD5B,qBAAuB,CAEvB,mBACF,CAEA,yBAPE,+BAYF,CALA,aAGE,gCAAkC,CAFlC,sBAAwB,CAGxB,iBACF,CAEA,YACE,iBACF,CAEA,eACE,mBACF,CACA,qBACE,6BAAuB,CAAvB,qBACF,CAEA,EACE,UAAW,CACX,oBACF,CAEA,kCACE,YACF,CChIA,WAGE,iBAAkB,CAFlB,6BAAgC,CAChC,iBAAkB,CAElB,mBAAoB,CACpB,8GAAoF,CACpF,gFACF,CAGA,WAGE,iBAAkB,CAFlB,6BAAgC,CAChC,iBAAkB,CAElB,mBAAoB,CACpB,0GAAgF,CAChF,+DACF,CAGA,WAGE,iBAAkB,CAFlB,6BAAgC,CAChC,iBAAkB,CAElB,mBAAoB,CACpB,4GAAkF,CAClF,0JACF,CAGA,WAGE,iBAAkB,CAFlB,6BAAgC,CAChC,iBAAkB,CAElB,mBAAoB,CACpB,2GAAiF,CACjF,oIACF,CAGA,WAGE,iBAAkB,CAFlB,6BAAgC,CAChC,iBAAkB,CAElB,mBAAoB,CACpB,uGAA6E,CAC7E,wKACF,CC/CA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,mBAAoB,CACpB,0GAAgF,CAChF,0JACF,CAGA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,mBAAoB,CACpB,yGAA+E,CAC/E,oIACF,CAGA,WAGE,iBAAkB,CAFlB,2BAA8B,CAC9B,iBAAkB,CAElB,mBAAoB,CACpB,qGAA2E,CAC3E,wKACF","sources":["index.css","../node_modules/@fontsource-variable/overpass/index.css","../node_modules/@fontsource-variable/lexend/index.css"],"sourcesContent":["body {\n margin: 0;\n padding: 0;\n overflow-x: hidden;\n font-family: Arial, Helvetica, sans-serif;\n}\n\nspan, label {\n font-family: Arial, Helvetica, sans-serif;\n}\n\n@keyframes gradientAnim {\n 0% {\n background-position: 0% 50%;\n }\n 50% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0% 50%;\n }\n}\n.nav-link {\n color: #005487;\n font-weight: bold;\n font-size: 25px;\n line-height: 24px;\n letter-spacing: 0.05em;\n text-align: center;\n text-decoration: none;\n transition: all 0.3s ease 0s;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: auto !important;\n}\n\n.nav-link::after {\n content: \"\";\n display: block;\n width: 0;\n height: 2px;\n \n background: #005487;\n transition: width 0.3s ease 0s;\n margin-left: auto;\n margin-right: auto;\n}\n\n.nav-link:hover::after {\n width: 100%;\n}\n\na {\n text-decoration: none;\n}\n\n.nav-link-left {\n color: #005487;\n font-weight: bold;\n font-size: 25px;\n line-height: 24px;\n letter-spacing: 0.05em;\n text-align: center;\n text-decoration: none;\n transition: all 0.3s ease 0s;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: auto !important;\n}\n\n.nav-link-left::after {\n content: \"\";\n display: block;\n width: 0;\n height: 2px;\n \n background: #fff;\n transition: width 0.3s ease 0s;\n margin-right: auto;\n}\n\n.nav-link-left:hover::after {\n width: 100%;\n}\n\n.se-resizing-bar {\n display: none !important;\n}\n\n.sun-editor-editable {\n height: auto !important;\n}\n\n.se-toolbar{\n position: sticky !important;\n flex-direction: column !important;\n\n width: 100px !important;\n transform: translate(-105px);\n z-index: 0 !important;\n}\n\n.se-btn-tray {\n display: flex !important;\n flex-direction: column !important;\n align-items: flex-start !important;\n gap: 2px !important;\n}\n\n.se-wrapper {\n margin-top: -480px;\n}\n\n.articleBanner {\n transition: ease 0.3s;\n}\n.articleBanner:hover {\n filter: brightness(0.7);\n}\n\na {\n color: #000;\n text-decoration: none;\n}\n\ninput[name=\"suneditor_image_radio\"] {\n display: none;\n} ","/* overpass-cyrillic-ext-wght-normal */\n@font-face {\n font-family: 'Overpass Variable';\n font-style: normal;\n font-display: swap;\n font-weight: 100 900;\n src: url(./files/overpass-cyrillic-ext-wght-normal.woff2) format('woff2-variations');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* overpass-cyrillic-wght-normal */\n@font-face {\n font-family: 'Overpass Variable';\n font-style: normal;\n font-display: swap;\n font-weight: 100 900;\n src: url(./files/overpass-cyrillic-wght-normal.woff2) format('woff2-variations');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* overpass-vietnamese-wght-normal */\n@font-face {\n font-family: 'Overpass Variable';\n font-style: normal;\n font-display: swap;\n font-weight: 100 900;\n src: url(./files/overpass-vietnamese-wght-normal.woff2) format('woff2-variations');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* overpass-latin-ext-wght-normal */\n@font-face {\n font-family: 'Overpass Variable';\n font-style: normal;\n font-display: swap;\n font-weight: 100 900;\n src: url(./files/overpass-latin-ext-wght-normal.woff2) format('woff2-variations');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* overpass-latin-wght-normal */\n@font-face {\n font-family: 'Overpass Variable';\n font-style: normal;\n font-display: swap;\n font-weight: 100 900;\n src: url(./files/overpass-latin-wght-normal.woff2) format('woff2-variations');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}","/* lexend-vietnamese-wght-normal */\n@font-face {\n font-family: 'Lexend Variable';\n font-style: normal;\n font-display: swap;\n font-weight: 100 900;\n src: url(./files/lexend-vietnamese-wght-normal.woff2) format('woff2-variations');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* lexend-latin-ext-wght-normal */\n@font-face {\n font-family: 'Lexend Variable';\n font-style: normal;\n font-display: swap;\n font-weight: 100 900;\n src: url(./files/lexend-latin-ext-wght-normal.woff2) format('woff2-variations');\n unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* lexend-latin-wght-normal */\n@font-face {\n font-family: 'Lexend Variable';\n font-style: normal;\n font-display: swap;\n font-weight: 100 900;\n src: url(./files/lexend-latin-wght-normal.woff2) format('woff2-variations');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/backend/public/static/js/main.20c1133d.js b/backend/public/static/js/main.20c1133d.js new file mode 100644 index 0000000..3f6e263 --- /dev/null +++ b/backend/public/static/js/main.20c1133d.js @@ -0,0 +1,3 @@ +/*! For license information please see main.20c1133d.js.LICENSE.txt */ +!function(){var e={532:function(e,t){"use strict";var n,r=Symbol.for("react.element"),o=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),v=Symbol.for("react.offscreen");function g(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case a:case l:case i:case f:case p:return e;default:switch(e=e&&e.$$typeof){case c:case s:case d:case m:case h:case u:return e;default:return t}}case o:return t}}}n=Symbol.for("react.module.reference")},457:function(e,t,n){"use strict";n(532)},110:function(e,t,n){"use strict";var r=n(309),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},l={};function u(e){return r.isMemo(e)?i:l[e.$$typeof]||o}l[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},l[r.Memo]=i;var s=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var o=p(n);o&&o!==h&&e(t,o,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var l=u(t),m=u(n),v=0;v>6,l[s++]=128|63&i):i<55296||i>=57344?(l[s++]=224|i>>12,l[s++]=128|i>>6&63,l[s++]=128|63&i):(i=65536+((1023&i)<<10|1023&e.charCodeAt(++o)),l[s++]=240|i>>18,l[s++]=128|i>>12&63,l[s++]=128|i>>6&63,l[s++]=128|63&i);e=l}else{if("object"!==a)throw new Error(t);if(null===e)throw new Error(t);if(c&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!c||!ArrayBuffer.isView(e)))throw new Error(t)}e.length>64&&(e=new C(n,!0).update(e).array());var d=[],f=[];for(o=0;o<64;++o){var p=e[o]||0;d[o]=92^p,f[o]=54^p}C.call(this,n,r),this.update(f),this.oKeyPad=d,this.inner=!0,this.sharedMemory=r}C.prototype.update=function(e){if(!this.finalized){var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(c&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!c||!ArrayBuffer.isView(e)))throw new Error(t);n=!0}for(var o,a,i=0,l=e.length,u=this.blocks;i>2]|=e[i]<>2]|=o<>2]|=(192|o>>6)<>2]|=(128|63&o)<=57344?(u[a>>2]|=(224|o>>12)<>2]|=(128|o>>6&63)<>2]|=(128|63&o)<>2]|=(240|o>>18)<>2]|=(128|o>>12&63)<>2]|=(128|o>>6&63)<>2]|=(128|63&o)<=64?(this.block=u[16],this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},C.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[16]=this.block,e[t>>2]|=f[3&t],this.block=e[16],t>=56&&(this.hashed||this.hash(),e[0]=this.block,e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.hBytes<<3|this.bytes>>>29,e[15]=this.bytes<<3,this.hash()}},C.prototype.hash=function(){var e,t,n,r,o,a,i,l,u,s=this.h0,c=this.h1,d=this.h2,f=this.h3,p=this.h4,m=this.h5,v=this.h6,g=this.h7,b=this.blocks;for(e=16;e<64;++e)t=((o=b[e-15])>>>7|o<<25)^(o>>>18|o<<14)^o>>>3,n=((o=b[e-2])>>>17|o<<15)^(o>>>19|o<<13)^o>>>10,b[e]=b[e-16]+t+b[e-7]+n<<0;for(u=c&d,e=0;e<64;e+=4)this.first?(this.is224?(a=300032,g=(o=b[0]-1413257819)-150054599<<0,f=o+24177077<<0):(a=704751109,g=(o=b[0]-210244248)-1521486534<<0,f=o+143694565<<0),this.first=!1):(t=(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10),r=(a=s&c)^s&d^u,g=f+(o=g+(n=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7))+(p&m^~p&v)+h[e]+b[e])<<0,f=o+(t+r)<<0),t=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),r=(i=f&s)^f&c^a,v=d+(o=v+(n=(g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7))+(g&p^~g&m)+h[e+1]+b[e+1])<<0,t=((d=o+(t+r)<<0)>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10),r=(l=d&f)^d&s^i,m=c+(o=m+(n=(v>>>6|v<<26)^(v>>>11|v<<21)^(v>>>25|v<<7))+(v&g^~v&p)+h[e+2]+b[e+2])<<0,t=((c=o+(t+r)<<0)>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),r=(u=c&d)^c&f^l,p=s+(o=p+(n=(m>>>6|m<<26)^(m>>>11|m<<21)^(m>>>25|m<<7))+(m&v^~m&g)+h[e+3]+b[e+3])<<0,s=o+(t+r)<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+s<<0,this.h1=this.h1+c<<0,this.h2=this.h2+d<<0,this.h3=this.h3+f<<0,this.h4=this.h4+p<<0,this.h5=this.h5+m<<0,this.h6=this.h6+v<<0,this.h7=this.h7+g<<0},C.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,o=this.h4,a=this.h5,i=this.h6,l=this.h7,u=d[e>>28&15]+d[e>>24&15]+d[e>>20&15]+d[e>>16&15]+d[e>>12&15]+d[e>>8&15]+d[e>>4&15]+d[15&e]+d[t>>28&15]+d[t>>24&15]+d[t>>20&15]+d[t>>16&15]+d[t>>12&15]+d[t>>8&15]+d[t>>4&15]+d[15&t]+d[n>>28&15]+d[n>>24&15]+d[n>>20&15]+d[n>>16&15]+d[n>>12&15]+d[n>>8&15]+d[n>>4&15]+d[15&n]+d[r>>28&15]+d[r>>24&15]+d[r>>20&15]+d[r>>16&15]+d[r>>12&15]+d[r>>8&15]+d[r>>4&15]+d[15&r]+d[o>>28&15]+d[o>>24&15]+d[o>>20&15]+d[o>>16&15]+d[o>>12&15]+d[o>>8&15]+d[o>>4&15]+d[15&o]+d[a>>28&15]+d[a>>24&15]+d[a>>20&15]+d[a>>16&15]+d[a>>12&15]+d[a>>8&15]+d[a>>4&15]+d[15&a]+d[i>>28&15]+d[i>>24&15]+d[i>>20&15]+d[i>>16&15]+d[i>>12&15]+d[i>>8&15]+d[i>>4&15]+d[15&i];return this.is224||(u+=d[l>>28&15]+d[l>>24&15]+d[l>>20&15]+d[l>>16&15]+d[l>>12&15]+d[l>>8&15]+d[l>>4&15]+d[15&l]),u},C.prototype.toString=C.prototype.hex,C.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3,o=this.h4,a=this.h5,i=this.h6,l=this.h7,u=[e>>24&255,e>>16&255,e>>8&255,255&e,t>>24&255,t>>16&255,t>>8&255,255&t,n>>24&255,n>>16&255,n>>8&255,255&n,r>>24&255,r>>16&255,r>>8&255,255&r,o>>24&255,o>>16&255,o>>8&255,255&o,a>>24&255,a>>16&255,a>>8&255,255&a,i>>24&255,i>>16&255,i>>8&255,255&i];return this.is224||u.push(l>>24&255,l>>16&255,l>>8&255,255&l),u},C.prototype.array=C.prototype.digest,C.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(this.is224?28:32),t=new DataView(e);return t.setUint32(0,this.h0),t.setUint32(4,this.h1),t.setUint32(8,this.h2),t.setUint32(12,this.h3),t.setUint32(16,this.h4),t.setUint32(20,this.h5),t.setUint32(24,this.h6),this.is224||t.setUint32(28,this.h7),e},S.prototype=new C,S.prototype.finalize=function(){if(C.prototype.finalize.call(this),this.inner){this.inner=!1;var e=this.array();C.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(e),C.prototype.finalize.call(this)}};var k=b();k.sha256=k,k.sha224=b(!0),k.sha256.hmac=x(),k.sha224.hmac=x(!0),u?e.exports=k:(a.sha256=k.sha256,a.sha224=k.sha224,s&&(void 0===(r=function(){return k}.call(k,n,k,e))||(e.exports=r)))}()},426:function(e,t,n){(e=n.nmd(e)).exports=function(){"use strict";var t,n;function r(){return t.apply(null,arguments)}function o(e){t=e}function a(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function u(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(l(e,t))return!1;return!0}function s(e){return void 0===e}function c(e){return"number"===typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function f(e,t){var n,r=[],o=e.length;for(n=0;n>>0;for(t=0;t0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,o)).toString().substr(1)+r}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,L=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,z={},A={};function H(e,t,n,r){var o=r;"string"===typeof r&&(o=function(){return this[r]()}),e&&(A[e]=o),t&&(A[t[0]]=function(){return j(o.apply(this,arguments),t[1],t[2])}),n&&(A[n]=function(){return this.localeData().ordinal(o.apply(this,arguments),e)})}function B(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function V(e){var t,n,r=e.match(N);for(t=0,n=r.length;t=0&&L.test(e);)e=e.replace(L,r),L.lastIndex=0,n-=1;return e}var G={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Y(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(N).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])}var K="Invalid date";function q(){return this._invalidDate}var $="%d",Q=/\d{1,2}/;function X(e){return this._ordinal.replace("%d",e)}var Z={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function J(e,t,n,r){var o=this._relativeTime[n];return I(o)?o(e,t,n,r):o.replace(/%d/i,e)}function ee(e,t){var n=this._relativeTime[e>0?"future":"past"];return I(n)?n(t):n.replace(/%s/i,t)}var te={};function ne(e,t){var n=e.toLowerCase();te[n]=te[n+"s"]=te[t]=e}function re(e){return"string"===typeof e?te[e]||te[e.toLowerCase()]:void 0}function oe(e){var t,n,r={};for(n in e)l(e,n)&&(t=re(n))&&(r[t]=e[n]);return r}var ae={};function ie(e,t){ae[e]=t}function le(e){var t,n=[];for(t in e)l(e,t)&&n.push({unit:t,priority:ae[t]});return n.sort((function(e,t){return e.priority-t.priority})),n}function ue(e){return e%4===0&&e%100!==0||e%400===0}function se(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function ce(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=se(t)),n}function de(e,t){return function(n){return null!=n?(pe(this,e,n),r.updateOffset(this,t),this):fe(this,e)}}function fe(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function pe(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&ue(e.year())&&1===e.month()&&29===e.date()?(n=ce(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Je(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function he(e){return I(this[e=re(e)])?this[e]():this}function me(e,t){if("object"===typeof e){var n,r=le(e=oe(e)),o=r.length;for(n=0;n68?1900:2e3)};var vt=de("FullYear",!0);function gt(){return ue(this.year())}function bt(e,t,n,r,o,a,i){var l;return e<100&&e>=0?(l=new Date(e+400,t,n,r,o,a,i),isFinite(l.getFullYear())&&l.setFullYear(e)):l=new Date(e,t,n,r,o,a,i),l}function yt(e){var t,n;return e<100&&e>=0?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function wt(e,t,n){var r=7+t-n;return-(7+yt(e,0,r).getUTCDay()-t)%7+r-1}function xt(e,t,n,r,o){var a,i,l=1+7*(t-1)+(7+n-r)%7+wt(e,r,o);return l<=0?i=mt(a=e-1)+l:l>mt(e)?(a=e+1,i=l-mt(e)):(a=e,i=l),{year:a,dayOfYear:i}}function Ct(e,t,n){var r,o,a=wt(e.year(),t,n),i=Math.floor((e.dayOfYear()-a-1)/7)+1;return i<1?r=i+St(o=e.year()-1,t,n):i>St(e.year(),t,n)?(r=i-St(e.year(),t,n),o=e.year()+1):(o=e.year(),r=i),{week:r,year:o}}function St(e,t,n){var r=wt(e,t,n),o=wt(e+1,t,n);return(mt(e)-r+o)/7}function kt(e){return Ct(e,this._week.dow,this._week.doy).week}H("w",["ww",2],"wo","week"),H("W",["WW",2],"Wo","isoWeek"),ne("week","w"),ne("isoWeek","W"),ie("week",5),ie("isoWeek",5),De("w",Ce),De("ww",Ce,be),De("W",Ce),De("WW",Ce,be),He(["w","ww","W","WW"],(function(e,t,n,r){t[r.substr(0,1)]=ce(e)}));var Rt={dow:0,doy:6};function Mt(){return this._week.dow}function Et(){return this._week.doy}function Pt(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function It(e){var t=Ct(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function Ot(e,t){return"string"!==typeof e?e:isNaN(e)?"number"===typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}function Tt(e,t){return"string"===typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function _t(e,t){return e.slice(t,7).concat(e.slice(0,t))}H("d",0,"do","day"),H("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),H("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),H("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),H("e",0,0,"weekday"),H("E",0,0,"isoWeekday"),ne("day","d"),ne("weekday","e"),ne("isoWeekday","E"),ie("day",11),ie("weekday",11),ie("isoWeekday",11),De("d",Ce),De("e",Ce),De("E",Ce),De("dd",(function(e,t){return t.weekdaysMinRegex(e)})),De("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),De("dddd",(function(e,t){return t.weekdaysRegex(e)})),He(["dd","ddd","dddd"],(function(e,t,n,r){var o=n._locale.weekdaysParse(e,r,n._strict);null!=o?t.d=o:v(n).invalidWeekday=e})),He(["d","e","E"],(function(e,t,n,r){t[r]=ce(e)}));var Ft="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Dt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),jt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Nt=Fe,Lt=Fe,zt=Fe;function At(e,t){var n=a(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?_t(n,this._week.dow):e?n[e.day()]:n}function Ht(e){return!0===e?_t(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Bt(e){return!0===e?_t(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Vt(e,t,n){var r,o,a,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)a=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(o=Ve.call(this._weekdaysParse,i))?o:null:"ddd"===t?-1!==(o=Ve.call(this._shortWeekdaysParse,i))?o:null:-1!==(o=Ve.call(this._minWeekdaysParse,i))?o:null:"dddd"===t?-1!==(o=Ve.call(this._weekdaysParse,i))||-1!==(o=Ve.call(this._shortWeekdaysParse,i))||-1!==(o=Ve.call(this._minWeekdaysParse,i))?o:null:"ddd"===t?-1!==(o=Ve.call(this._shortWeekdaysParse,i))||-1!==(o=Ve.call(this._weekdaysParse,i))||-1!==(o=Ve.call(this._minWeekdaysParse,i))?o:null:-1!==(o=Ve.call(this._minWeekdaysParse,i))||-1!==(o=Ve.call(this._weekdaysParse,i))||-1!==(o=Ve.call(this._shortWeekdaysParse,i))?o:null}function Wt(e,t,n){var r,o,a;if(this._weekdaysParseExact)return Vt.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(o=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(o,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(o,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(o,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(o,"")+"|^"+this.weekdaysShort(o,"")+"|^"+this.weekdaysMin(o,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&"ddd"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&"dd"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Ut(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Ot(e,this.localeData()),this.add(e-t,"d")):t}function Gt(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function Yt(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Tt(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Kt(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Qt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Nt),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function qt(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Qt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Lt),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function $t(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Qt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=zt),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qt(){function e(e,t){return t.length-e.length}var t,n,r,o,a,i=[],l=[],u=[],s=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),r=Le(this.weekdaysMin(n,"")),o=Le(this.weekdaysShort(n,"")),a=Le(this.weekdays(n,"")),i.push(r),l.push(o),u.push(a),s.push(r),s.push(o),s.push(a);i.sort(e),l.sort(e),u.sort(e),s.sort(e),this._weekdaysRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function Xt(){return this.hours()%12||12}function Zt(){return this.hours()||24}function Jt(e,t){H(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function en(e,t){return t._meridiemParse}function tn(e){return"p"===(e+"").toLowerCase().charAt(0)}H("H",["HH",2],0,"hour"),H("h",["hh",2],0,Xt),H("k",["kk",2],0,Zt),H("hmm",0,0,(function(){return""+Xt.apply(this)+j(this.minutes(),2)})),H("hmmss",0,0,(function(){return""+Xt.apply(this)+j(this.minutes(),2)+j(this.seconds(),2)})),H("Hmm",0,0,(function(){return""+this.hours()+j(this.minutes(),2)})),H("Hmmss",0,0,(function(){return""+this.hours()+j(this.minutes(),2)+j(this.seconds(),2)})),Jt("a",!0),Jt("A",!1),ne("hour","h"),ie("hour",13),De("a",en),De("A",en),De("H",Ce),De("h",Ce),De("k",Ce),De("HH",Ce,be),De("hh",Ce,be),De("kk",Ce,be),De("hmm",Se),De("hmmss",ke),De("Hmm",Se),De("Hmmss",ke),Ae(["H","HH"],Ye),Ae(["k","kk"],(function(e,t,n){var r=ce(e);t[Ye]=24===r?0:r})),Ae(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),Ae(["h","hh"],(function(e,t,n){t[Ye]=ce(e),v(n).bigHour=!0})),Ae("hmm",(function(e,t,n){var r=e.length-2;t[Ye]=ce(e.substr(0,r)),t[Ke]=ce(e.substr(r)),v(n).bigHour=!0})),Ae("hmmss",(function(e,t,n){var r=e.length-4,o=e.length-2;t[Ye]=ce(e.substr(0,r)),t[Ke]=ce(e.substr(r,2)),t[qe]=ce(e.substr(o)),v(n).bigHour=!0})),Ae("Hmm",(function(e,t,n){var r=e.length-2;t[Ye]=ce(e.substr(0,r)),t[Ke]=ce(e.substr(r))})),Ae("Hmmss",(function(e,t,n){var r=e.length-4,o=e.length-2;t[Ye]=ce(e.substr(0,r)),t[Ke]=ce(e.substr(r,2)),t[qe]=ce(e.substr(o))}));var nn=/[ap]\.?m?\.?/i,rn=de("Hours",!0);function on(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}var an,ln={calendar:F,longDateFormat:G,invalidDate:K,ordinal:$,dayOfMonthOrdinalParse:Q,relativeTime:Z,months:et,monthsShort:tt,week:Rt,weekdays:Ft,weekdaysMin:jt,weekdaysShort:Dt,meridiemParse:nn},un={},sn={};function cn(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n0;){if(r=hn(o.slice(0,t).join("-")))return r;if(n&&n.length>=t&&cn(o,n)>=t-1)break;t--}a++}return an}function pn(e){return null!=e.match("^[^/\\\\]*$")}function hn(t){var n=null;if(void 0===un[t]&&e&&e.exports&&pn(t))try{n=an._abbr,Object(function(){var e=new Error("Cannot find module 'undefined'");throw e.code="MODULE_NOT_FOUND",e}()),mn(n)}catch(r){un[t]=null}return un[t]}function mn(e,t){var n;return e&&((n=s(t)?bn(e):vn(e,t))?an=n:"undefined"!==typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),an._abbr}function vn(e,t){if(null!==t){var n,r=ln;if(t.abbr=e,null!=un[e])P("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=un[e]._config;else if(null!=t.parentLocale)if(null!=un[t.parentLocale])r=un[t.parentLocale]._config;else{if(null==(n=hn(t.parentLocale)))return sn[t.parentLocale]||(sn[t.parentLocale]=[]),sn[t.parentLocale].push({name:e,config:t}),null;r=n._config}return un[e]=new _(T(r,t)),sn[e]&&sn[e].forEach((function(e){vn(e.name,e.config)})),mn(e),un[e]}return delete un[e],null}function gn(e,t){if(null!=t){var n,r,o=ln;null!=un[e]&&null!=un[e].parentLocale?un[e].set(T(un[e]._config,t)):(null!=(r=hn(e))&&(o=r._config),t=T(o,t),null==r&&(t.abbr=e),(n=new _(t)).parentLocale=un[e],un[e]=n),mn(e)}else null!=un[e]&&(null!=un[e].parentLocale?(un[e]=un[e].parentLocale,e===mn()&&mn(e)):null!=un[e]&&delete un[e]);return un[e]}function bn(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return an;if(!a(e)){if(t=hn(e))return t;e=[e]}return fn(e)}function yn(){return M(un)}function wn(e){var t,n=e._a;return n&&-2===v(e).overflow&&(t=n[Ue]<0||n[Ue]>11?Ue:n[Ge]<1||n[Ge]>Je(n[We],n[Ue])?Ge:n[Ye]<0||n[Ye]>24||24===n[Ye]&&(0!==n[Ke]||0!==n[qe]||0!==n[$e])?Ye:n[Ke]<0||n[Ke]>59?Ke:n[qe]<0||n[qe]>59?qe:n[$e]<0||n[$e]>999?$e:-1,v(e)._overflowDayOfYear&&(tGe)&&(t=Ge),v(e)._overflowWeeks&&-1===t&&(t=Qe),v(e)._overflowWeekday&&-1===t&&(t=Xe),v(e).overflow=t),e}var xn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Cn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Sn=/Z|[+-]\d\d(?::?\d\d)?/,kn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Rn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Mn=/^\/?Date\((-?\d+)/i,En=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Pn={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function In(e){var t,n,r,o,a,i,l=e._i,u=xn.exec(l)||Cn.exec(l),s=kn.length,c=Rn.length;if(u){for(v(e).iso=!0,t=0,n=s;tmt(a)||0===e._dayOfYear)&&(v(e)._overflowDayOfYear=!0),n=yt(a,0,e._dayOfYear),e._a[Ue]=n.getUTCMonth(),e._a[Ge]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=i[t]=r[t];for(;t<7;t++)e._a[t]=i[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Ye]&&0===e._a[Ke]&&0===e._a[qe]&&0===e._a[$e]&&(e._nextDay=!0,e._a[Ye]=0),e._d=(e._useUTC?yt:bt).apply(null,i),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Ye]=24),e._w&&"undefined"!==typeof e._w.d&&e._w.d!==o&&(v(e).weekdayMismatch=!0)}}function Hn(e){var t,n,r,o,a,i,l,u,s;null!=(t=e._w).GG||null!=t.W||null!=t.E?(a=1,i=4,n=Ln(t.GG,e._a[We],Ct($n(),1,4).year),r=Ln(t.W,1),((o=Ln(t.E,1))<1||o>7)&&(u=!0)):(a=e._locale._week.dow,i=e._locale._week.doy,s=Ct($n(),a,i),n=Ln(t.gg,e._a[We],s.year),r=Ln(t.w,s.week),null!=t.d?((o=t.d)<0||o>6)&&(u=!0):null!=t.e?(o=t.e+a,(t.e<0||t.e>6)&&(u=!0)):o=a),r<1||r>St(n,a,i)?v(e)._overflowWeeks=!0:null!=u?v(e)._overflowWeekday=!0:(l=xt(n,r,o,a,i),e._a[We]=l.year,e._dayOfYear=l.dayOfYear)}function Bn(e){if(e._f!==r.ISO_8601)if(e._f!==r.RFC_2822){e._a=[],v(e).empty=!0;var t,n,o,a,i,l,u,s=""+e._i,c=s.length,d=0;for(u=(o=U(e._f,e._locale).match(N)||[]).length,t=0;t0&&v(e).unusedInput.push(i),s=s.slice(s.indexOf(n)+n.length),d+=n.length),A[a]?(n?v(e).empty=!1:v(e).unusedTokens.push(a),Be(a,n,e)):e._strict&&!n&&v(e).unusedTokens.push(a);v(e).charsLeftOver=c-d,s.length>0&&v(e).unusedInput.push(s),e._a[Ye]<=12&&!0===v(e).bigHour&&e._a[Ye]>0&&(v(e).bigHour=void 0),v(e).parsedDateParts=e._a.slice(0),v(e).meridiem=e._meridiem,e._a[Ye]=Vn(e._locale,e._a[Ye],e._meridiem),null!==(l=v(e).era)&&(e._a[We]=e._locale.erasConvertYear(l,e._a[We])),An(e),wn(e)}else jn(e);else In(e)}function Vn(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((r=e.isPM(n))&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function Wn(e){var t,n,r,o,a,i,l=!1,u=e._f.length;if(0===u)return v(e).invalidFormat=!0,void(e._d=new Date(NaN));for(o=0;othis?this:e:b()}));function Zn(e,t){var n,r;if(1===t.length&&a(t[0])&&(t=t[0]),!t.length)return $n();for(n=t[0],r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Cr(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e,t={};return x(t,this),(t=Yn(t))._a?(e=t._isUTC?h(t._a):$n(t._a),this._isDSTShifted=this.isValid()&&sr(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Sr(){return!!this.isValid()&&!this._isUTC}function kr(){return!!this.isValid()&&this._isUTC}function Rr(){return!!this.isValid()&&this._isUTC&&0===this._offset}r.updateOffset=function(){};var Mr=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Er=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Pr(e,t){var n,r,o,a=e,i=null;return lr(e)?a={ms:e._milliseconds,d:e._days,M:e._months}:c(e)||!isNaN(+e)?(a={},t?a[t]=+e:a.milliseconds=+e):(i=Mr.exec(e))?(n="-"===i[1]?-1:1,a={y:0,d:ce(i[Ge])*n,h:ce(i[Ye])*n,m:ce(i[Ke])*n,s:ce(i[qe])*n,ms:ce(ur(1e3*i[$e]))*n}):(i=Er.exec(e))?(n="-"===i[1]?-1:1,a={y:Ir(i[2],n),M:Ir(i[3],n),w:Ir(i[4],n),d:Ir(i[5],n),h:Ir(i[6],n),m:Ir(i[7],n),s:Ir(i[8],n)}):null==a?a={}:"object"===typeof a&&("from"in a||"to"in a)&&(o=Tr($n(a.from),$n(a.to)),(a={}).ms=o.milliseconds,a.M=o.months),r=new ir(a),lr(e)&&l(e,"_locale")&&(r._locale=e._locale),lr(e)&&l(e,"_isValid")&&(r._isValid=e._isValid),r}function Ir(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Or(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Tr(e,t){var n;return e.isValid()&&t.isValid()?(t=pr(t,e),e.isBefore(t)?n=Or(e,t):((n=Or(t,e)).milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function _r(e,t){return function(n,r){var o;return null===r||isNaN(+r)||(P(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=r,r=o),Fr(this,Pr(n,r),e),this}}function Fr(e,t,n,o){var a=t._milliseconds,i=ur(t._days),l=ur(t._months);e.isValid()&&(o=null==o||o,l&&st(e,fe(e,"Month")+l*n),i&&pe(e,"Date",fe(e,"Date")+i*n),a&&e._d.setTime(e._d.valueOf()+a*n),o&&r.updateOffset(e,i||l))}Pr.fn=ir.prototype,Pr.invalid=ar;var Dr=_r(1,"add"),jr=_r(-1,"subtract");function Nr(e){return"string"===typeof e||e instanceof String}function Lr(e){return S(e)||d(e)||Nr(e)||c(e)||Ar(e)||zr(e)||null===e||void 0===e}function zr(e){var t,n,r=i(e)&&!u(e),o=!1,a=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],s=a.length;for(t=0;tn.valueOf():n.valueOf()9999?W(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):I(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",W(n,"Z")):W(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function eo(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,r,o="moment",a="";return this.isLocal()||(o=0===this.utcOffset()?"moment.utc":"moment.parseZone",a="Z"),e="["+o+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n="-MM-DD[T]HH:mm:ss.SSS",r=a+'[")]',this.format(e+t+n+r)}function to(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var t=W(this,e);return this.localeData().postformat(t)}function no(e,t){return this.isValid()&&(S(e)&&e.isValid()||$n(e).isValid())?Pr({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function ro(e){return this.from($n(),e)}function oo(e,t){return this.isValid()&&(S(e)&&e.isValid()||$n(e).isValid())?Pr({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function ao(e){return this.to($n(),e)}function io(e){var t;return void 0===e?this._locale._abbr:(null!=(t=bn(e))&&(this._locale=t),this)}r.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",r.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lo=R("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(e){return void 0===e?this.localeData():this.locale(e)}));function uo(){return this._locale}var so=1e3,co=60*so,fo=60*co,po=3506328*fo;function ho(e,t){return(e%t+t)%t}function mo(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-po:new Date(e,t,n).valueOf()}function vo(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-po:Date.UTC(e,t,n)}function go(e){var t,n;if(void 0===(e=re(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?vo:mo,e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=ho(t+(this._isUTC?0:this.utcOffset()*co),fo);break;case"minute":t=this._d.valueOf(),t-=ho(t,co);break;case"second":t=this._d.valueOf(),t-=ho(t,so)}return this._d.setTime(t),r.updateOffset(this,!0),this}function bo(e){var t,n;if(void 0===(e=re(e))||"millisecond"===e||!this.isValid())return this;switch(n=this._isUTC?vo:mo,e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=fo-ho(t+(this._isUTC?0:this.utcOffset()*co),fo)-1;break;case"minute":t=this._d.valueOf(),t+=co-ho(t,co)-1;break;case"second":t=this._d.valueOf(),t+=so-ho(t,so)-1}return this._d.setTime(t),r.updateOffset(this,!0),this}function yo(){return this._d.valueOf()-6e4*(this._offset||0)}function wo(){return Math.floor(this.valueOf()/1e3)}function xo(){return new Date(this.valueOf())}function Co(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function So(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function ko(){return this.isValid()?this.toISOString():null}function Ro(){return g(this)}function Mo(){return p({},v(this))}function Eo(){return v(this).overflow}function Po(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Io(e,t){var n,o,a,i=this._eras||bn("en")._eras;for(n=0,o=i.length;n=0)return u[r]}function To(e,t){var n=e.since<=e.until?1:-1;return void 0===t?r(e.since).year():r(e.since).year()+(t-e.offset)*n}function _o(){var e,t,n,r=this.localeData().eras();for(e=0,t=r.length;e(a=St(e,r,o))&&(t=a),Zo.call(this,e,t,n,r,o))}function Zo(e,t,n,r,o){var a=xt(e,t,n,r,o),i=yt(a.year,0,a.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}function Jo(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}H("N",0,0,"eraAbbr"),H("NN",0,0,"eraAbbr"),H("NNN",0,0,"eraAbbr"),H("NNNN",0,0,"eraName"),H("NNNNN",0,0,"eraNarrow"),H("y",["y",1],"yo","eraYear"),H("y",["yy",2],0,"eraYear"),H("y",["yyy",3],0,"eraYear"),H("y",["yyyy",4],0,"eraYear"),De("N",Ao),De("NN",Ao),De("NNN",Ao),De("NNNN",Ho),De("NNNNN",Bo),Ae(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,n,r){var o=n._locale.erasParse(e,r,n._strict);o?v(n).era=o:v(n).invalidEra=e})),De("y",Pe),De("yy",Pe),De("yyy",Pe),De("yyyy",Pe),De("yo",Vo),Ae(["y","yy","yyy","yyyy"],We),Ae(["yo"],(function(e,t,n,r){var o;n._locale._eraYearOrdinalRegex&&(o=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[We]=n._locale.eraYearOrdinalParse(e,o):t[We]=parseInt(e,10)})),H(0,["gg",2],0,(function(){return this.weekYear()%100})),H(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),Uo("gggg","weekYear"),Uo("ggggg","weekYear"),Uo("GGGG","isoWeekYear"),Uo("GGGGG","isoWeekYear"),ne("weekYear","gg"),ne("isoWeekYear","GG"),ie("weekYear",1),ie("isoWeekYear",1),De("G",Ie),De("g",Ie),De("GG",Ce,be),De("gg",Ce,be),De("GGGG",Me,we),De("gggg",Me,we),De("GGGGG",Ee,xe),De("ggggg",Ee,xe),He(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,r){t[r.substr(0,2)]=ce(e)})),He(["gg","GG"],(function(e,t,n,o){t[o]=r.parseTwoDigitYear(e)})),H("Q",0,"Qo","quarter"),ne("quarter","Q"),ie("quarter",7),De("Q",ge),Ae("Q",(function(e,t){t[Ue]=3*(ce(e)-1)})),H("D",["DD",2],"Do","date"),ne("date","D"),ie("date",9),De("D",Ce),De("DD",Ce,be),De("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),Ae(["D","DD"],Ge),Ae("Do",(function(e,t){t[Ge]=ce(e.match(Ce)[0])}));var ea=de("Date",!0);function ta(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}H("DDD",["DDDD",3],"DDDo","dayOfYear"),ne("dayOfYear","DDD"),ie("dayOfYear",4),De("DDD",Re),De("DDDD",ye),Ae(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=ce(e)})),H("m",["mm",2],0,"minute"),ne("minute","m"),ie("minute",14),De("m",Ce),De("mm",Ce,be),Ae(["m","mm"],Ke);var na=de("Minutes",!1);H("s",["ss",2],0,"second"),ne("second","s"),ie("second",15),De("s",Ce),De("ss",Ce,be),Ae(["s","ss"],qe);var ra,oa,aa=de("Seconds",!1);for(H("S",0,0,(function(){return~~(this.millisecond()/100)})),H(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),H(0,["SSS",3],0,"millisecond"),H(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),H(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),H(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),H(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),H(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),H(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),ne("millisecond","ms"),ie("millisecond",16),De("S",Re,ge),De("SS",Re,be),De("SSS",Re,ye),ra="SSSS";ra.length<=9;ra+="S")De(ra,Pe);function ia(e,t){t[$e]=ce(1e3*("0."+e))}for(ra="S";ra.length<=9;ra+="S")Ae(ra,ia);function la(){return this._isUTC?"UTC":""}function ua(){return this._isUTC?"Coordinated Universal Time":""}oa=de("Milliseconds",!1),H("z",0,0,"zoneAbbr"),H("zz",0,0,"zoneName");var sa=C.prototype;function ca(e){return $n(1e3*e)}function da(){return $n.apply(null,arguments).parseZone()}function fa(e){return e}sa.add=Dr,sa.calendar=Vr,sa.clone=Wr,sa.diff=Qr,sa.endOf=bo,sa.format=to,sa.from=no,sa.fromNow=ro,sa.to=oo,sa.toNow=ao,sa.get=he,sa.invalidAt=Eo,sa.isAfter=Ur,sa.isBefore=Gr,sa.isBetween=Yr,sa.isSame=Kr,sa.isSameOrAfter=qr,sa.isSameOrBefore=$r,sa.isValid=Ro,sa.lang=lo,sa.locale=io,sa.localeData=uo,sa.max=Xn,sa.min=Qn,sa.parsingFlags=Mo,sa.set=me,sa.startOf=go,sa.subtract=jr,sa.toArray=Co,sa.toObject=So,sa.toDate=xo,sa.toISOString=Jr,sa.inspect=eo,"undefined"!==typeof Symbol&&null!=Symbol.for&&(sa[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),sa.toJSON=ko,sa.toString=Zr,sa.unix=wo,sa.valueOf=yo,sa.creationData=Po,sa.eraName=_o,sa.eraNarrow=Fo,sa.eraAbbr=Do,sa.eraYear=jo,sa.year=vt,sa.isLeapYear=gt,sa.weekYear=Go,sa.isoWeekYear=Yo,sa.quarter=sa.quarters=Jo,sa.month=ct,sa.daysInMonth=dt,sa.week=sa.weeks=Pt,sa.isoWeek=sa.isoWeeks=It,sa.weeksInYear=$o,sa.weeksInWeekYear=Qo,sa.isoWeeksInYear=Ko,sa.isoWeeksInISOWeekYear=qo,sa.date=ea,sa.day=sa.days=Ut,sa.weekday=Gt,sa.isoWeekday=Yt,sa.dayOfYear=ta,sa.hour=sa.hours=rn,sa.minute=sa.minutes=na,sa.second=sa.seconds=aa,sa.millisecond=sa.milliseconds=oa,sa.utcOffset=mr,sa.utc=gr,sa.local=br,sa.parseZone=yr,sa.hasAlignedHourOffset=wr,sa.isDST=xr,sa.isLocal=Sr,sa.isUtcOffset=kr,sa.isUtc=Rr,sa.isUTC=Rr,sa.zoneAbbr=la,sa.zoneName=ua,sa.dates=R("dates accessor is deprecated. Use date instead.",ea),sa.months=R("months accessor is deprecated. Use month instead",ct),sa.years=R("years accessor is deprecated. Use year instead",vt),sa.zone=R("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",vr),sa.isDSTShifted=R("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Cr);var pa=_.prototype;function ha(e,t,n,r){var o=bn(),a=h().set(r,t);return o[n](a,e)}function ma(e,t,n){if(c(e)&&(t=e,e=void 0),e=e||"",null!=t)return ha(e,t,n,"month");var r,o=[];for(r=0;r<12;r++)o[r]=ha(e,r,n,"month");return o}function va(e,t,n,r){"boolean"===typeof e?(c(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,c(t)&&(n=t,t=void 0),t=t||"");var o,a=bn(),i=e?a._week.dow:0,l=[];if(null!=n)return ha(t,(n+i)%7,r,"day");for(o=0;o<7;o++)l[o]=ha(t,(o+i)%7,r,"day");return l}function ga(e,t){return ma(e,t,"months")}function ba(e,t){return ma(e,t,"monthsShort")}function ya(e,t,n){return va(e,t,n,"weekdays")}function wa(e,t,n){return va(e,t,n,"weekdaysShort")}function xa(e,t,n){return va(e,t,n,"weekdaysMin")}pa.calendar=D,pa.longDateFormat=Y,pa.invalidDate=q,pa.ordinal=X,pa.preparse=fa,pa.postformat=fa,pa.relativeTime=J,pa.pastFuture=ee,pa.set=O,pa.eras=Io,pa.erasParse=Oo,pa.erasConvertYear=To,pa.erasAbbrRegex=Lo,pa.erasNameRegex=No,pa.erasNarrowRegex=zo,pa.months=at,pa.monthsShort=it,pa.monthsParse=ut,pa.monthsRegex=pt,pa.monthsShortRegex=ft,pa.week=kt,pa.firstDayOfYear=Et,pa.firstDayOfWeek=Mt,pa.weekdays=At,pa.weekdaysMin=Bt,pa.weekdaysShort=Ht,pa.weekdaysParse=Wt,pa.weekdaysRegex=Kt,pa.weekdaysShortRegex=qt,pa.weekdaysMinRegex=$t,pa.isPM=tn,pa.meridiem=on,mn("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===ce(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),r.lang=R("moment.lang is deprecated. Use moment.locale instead.",mn),r.langData=R("moment.langData is deprecated. Use moment.localeData instead.",bn);var Ca=Math.abs;function Sa(){var e=this._data;return this._milliseconds=Ca(this._milliseconds),this._days=Ca(this._days),this._months=Ca(this._months),e.milliseconds=Ca(e.milliseconds),e.seconds=Ca(e.seconds),e.minutes=Ca(e.minutes),e.hours=Ca(e.hours),e.months=Ca(e.months),e.years=Ca(e.years),this}function ka(e,t,n,r){var o=Pr(t,n);return e._milliseconds+=r*o._milliseconds,e._days+=r*o._days,e._months+=r*o._months,e._bubble()}function Ra(e,t){return ka(this,e,t,1)}function Ma(e,t){return ka(this,e,t,-1)}function Ea(e){return e<0?Math.floor(e):Math.ceil(e)}function Pa(){var e,t,n,r,o,a=this._milliseconds,i=this._days,l=this._months,u=this._data;return a>=0&&i>=0&&l>=0||a<=0&&i<=0&&l<=0||(a+=864e5*Ea(Oa(l)+i),i=0,l=0),u.milliseconds=a%1e3,e=se(a/1e3),u.seconds=e%60,t=se(e/60),u.minutes=t%60,n=se(t/60),u.hours=n%24,i+=se(n/24),l+=o=se(Ia(i)),i-=Ea(Oa(o)),r=se(l/12),l%=12,u.days=i,u.months=l,u.years=r,this}function Ia(e){return 4800*e/146097}function Oa(e){return 146097*e/4800}function Ta(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if("month"===(e=re(e))||"quarter"===e||"year"===e)switch(t=this._days+r/864e5,n=this._months+Ia(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Oa(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}}function _a(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*ce(this._months/12):NaN}function Fa(e){return function(){return this.as(e)}}var Da=Fa("ms"),ja=Fa("s"),Na=Fa("m"),La=Fa("h"),za=Fa("d"),Aa=Fa("w"),Ha=Fa("M"),Ba=Fa("Q"),Va=Fa("y");function Wa(){return Pr(this)}function Ua(e){return e=re(e),this.isValid()?this[e+"s"]():NaN}function Ga(e){return function(){return this.isValid()?this._data[e]:NaN}}var Ya=Ga("milliseconds"),Ka=Ga("seconds"),qa=Ga("minutes"),$a=Ga("hours"),Qa=Ga("days"),Xa=Ga("months"),Za=Ga("years");function Ja(){return se(this.days()/7)}var ei=Math.round,ti={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function ni(e,t,n,r,o){return o.relativeTime(t||1,!!n,e,r)}function ri(e,t,n,r){var o=Pr(e).abs(),a=ei(o.as("s")),i=ei(o.as("m")),l=ei(o.as("h")),u=ei(o.as("d")),s=ei(o.as("M")),c=ei(o.as("w")),d=ei(o.as("y")),f=a<=n.ss&&["s",a]||a0,f[4]=r,ni.apply(null,f)}function oi(e){return void 0===e?ei:"function"===typeof e&&(ei=e,!0)}function ai(e,t){return void 0!==ti[e]&&(void 0===t?ti[e]:(ti[e]=t,"s"===e&&(ti.ss=t-1),!0))}function ii(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,r,o=!1,a=ti;return"object"===typeof e&&(t=e,e=!1),"boolean"===typeof e&&(o=e),"object"===typeof t&&(a=Object.assign({},ti,t),null!=t.s&&null==t.ss&&(a.ss=t.s-1)),r=ri(this,!o,a,n=this.localeData()),o&&(r=n.pastFuture(+this,r)),n.postformat(r)}var li=Math.abs;function ui(e){return(e>0)-(e<0)||+e}function si(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r,o,a,i,l,u=li(this._milliseconds)/1e3,s=li(this._days),c=li(this._months),d=this.asSeconds();return d?(e=se(u/60),t=se(e/60),u%=60,e%=60,n=se(c/12),c%=12,r=u?u.toFixed(3).replace(/\.?0+$/,""):"",o=d<0?"-":"",a=ui(this._months)!==ui(d)?"-":"",i=ui(this._days)!==ui(d)?"-":"",l=ui(this._milliseconds)!==ui(d)?"-":"",o+"P"+(n?a+n+"Y":"")+(c?a+c+"M":"")+(s?i+s+"D":"")+(t||e||u?"T":"")+(t?l+t+"H":"")+(e?l+e+"M":"")+(u?l+r+"S":"")):"P0D"}var ci=ir.prototype;return ci.isValid=or,ci.abs=Sa,ci.add=Ra,ci.subtract=Ma,ci.as=Ta,ci.asMilliseconds=Da,ci.asSeconds=ja,ci.asMinutes=Na,ci.asHours=La,ci.asDays=za,ci.asWeeks=Aa,ci.asMonths=Ha,ci.asQuarters=Ba,ci.asYears=Va,ci.valueOf=_a,ci._bubble=Pa,ci.clone=Wa,ci.get=Ua,ci.milliseconds=Ya,ci.seconds=Ka,ci.minutes=qa,ci.hours=$a,ci.days=Qa,ci.weeks=Ja,ci.months=Xa,ci.years=Za,ci.humanize=ii,ci.toISOString=si,ci.toString=si,ci.toJSON=si,ci.locale=io,ci.localeData=uo,ci.toIsoString=R("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",si),ci.lang=lo,H("X",0,0,"unix"),H("x",0,0,"valueOf"),De("x",Ie),De("X",_e),Ae("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),Ae("x",(function(e,t,n){n._d=new Date(ce(e))})),r.version="2.29.4",o($n),r.fn=sa,r.min=Jn,r.max=er,r.now=tr,r.utc=h,r.unix=ca,r.months=ga,r.isDate=d,r.locale=mn,r.invalid=b,r.duration=Pr,r.isMoment=S,r.weekdays=ya,r.parseZone=da,r.localeData=bn,r.isDuration=lr,r.monthsShort=ba,r.weekdaysMin=xa,r.defineLocale=vn,r.updateLocale=gn,r.locales=yn,r.weekdaysShort=wa,r.normalizeUnits=re,r.relativeTimeRounding=oi,r.relativeTimeThreshold=ai,r.calendarFormat=Br,r.prototype=sa,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},r}()},888:function(e,t,n){"use strict";var r=n(47);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},7:function(e,t,n){e.exports=n(888)()},47:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},463:function(e,t,n){"use strict";var r=n(791),o=n(296);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n