@things-factory/weather 9.0.0-beta.56 → 9.0.0-beta.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/generic-pool/index.d.ts","../../env/lib/dependency-graph.d.ts","../../env/lib/dependency-order.d.ts","../../env/lib/scene-modules.d.ts","../../env/lib/operato-modules.d.ts","../../env/lib/config.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../../node_modules/winston-daily-rotate-file/index.d.ts","../../env/lib/logger.d.ts","../../env/lib/module-loader.d.ts","../../env/lib/app-root-path.d.ts","../../env/lib/app-package.d.ts","../../env/lib/index.d.ts","../server/services/headless-pool.ts","../../cache-service/dist-server/service/cache-store/cache-store.d.ts","../../cache-service/dist-server/service/index.d.ts","../../cache-service/dist-server/controllers/types.d.ts","../../cache-service/dist-server/controllers/cache-service.d.ts","../../cache-service/dist-server/index.d.ts","../server/controllers/types.ts","../server/controllers/open-meteo-adapter.ts","../server/services/chrome-renderer.ts","../server/controllers/weather-controller.ts","../server/routers/weather-router.ts","../server/routers/geo-router.ts","../server/routes.ts","../server/index.ts","../server/utils/svg-utils.ts","../server/utils/tile-utils.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[54,97],[54,97,184],[54,97,186,189],[54,94,97],[54,96,97],[97],[54,97,102,132],[54,97,98,103,109,110,117,129,140],[54,97,98,99,109,117],[49,50,51,54,97],[54,97,100,141],[54,97,101,102,110,118],[54,97,102,129,137],[54,97,103,105,109,117],[54,96,97,104],[54,97,105,106],[54,97,109],[54,97,107,109],[54,96,97,109],[54,97,109,110,111,129,140],[54,97,109,110,111,124,129,132],[54,92,97,145],[54,92,97,105,109,112,117,129,140],[54,97,109,110,112,113,117,129,137,140],[54,97,112,114,129,137,140],[52,53,54,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],[54,97,109,115],[54,97,116,140],[54,97,105,109,117,129],[54,97,118],[54,97,119],[54,96,97,120],[54,94,95,96,97,98,99,100,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],[54,97,122],[54,97,123],[54,97,109,124,125],[54,97,124,126,141,143],[54,97,109,129,130,132],[54,97,131,132],[54,97,129,130],[54,97,132],[54,97,133],[54,94,97,129],[54,97,109,135,136],[54,97,135,136],[54,97,102,117,129,137],[54,97,138],[54,97,117,139],[54,97,112,123,140],[54,97,102,141],[54,97,129,142],[54,97,116,143],[54,97,144],[54,97,102,109,111,120,129,140,143,145],[54,97,129,146],[54,97,182,188],[54,97,109,147],[54,97,186],[54,97,183,187],[54,97,154],[54,97,185],[54,64,68,97,140],[54,64,97,129,140],[54,59,97],[54,61,64,97,137,140],[54,97,117,137],[54,97,147],[54,59,97,147],[54,61,64,97,117,140],[54,56,57,60,63,97,109,129,140],[54,64,71,97],[54,56,62,97],[54,64,85,86,97],[54,60,64,97,132,140,147],[54,85,97,147],[54,58,59,97,147],[54,64,97],[54,58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91,97],[54,64,79,97],[54,64,71,72,97],[54,62,64,72,73,97],[54,63,97],[54,56,59,64,97],[54,64,68,72,73,97],[54,68,97],[54,62,64,67,97,140],[54,56,61,64,71,97],[54,97,129],[54,59,64,85,97,145,147],[54,97,156,158],[54,97,129,147,155],[54,97,129,147,155,156,157,158],[54,97,112,147,156],[54,97,169],[54,97,168,170],[54,97,167],[54,97,149,150,151,152,153,161,162,163,164],[54,97,159,160],[48,54,97,165,172],[48,54,97],[48,54,97,165,171,172,173,174],[48,54,97,178],[48,54,97,98,110,119,141,165],[48,54,97,175],[48,54,97,166,176,177],[48,54,97,166],[48,54,97,148,165]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fa51737611c21ba3a5ac02c4e1535741d58bec67c9bdf94b1837a31c97a2263","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"f9677e434b7a3b14f0a9367f9dfa1227dfe3ee661792d0085523c3191ae6a1a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"9057f224b79846e3a95baf6dad2c8103278de2b0c5eebda23fc8188171ad2398","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0476e6b51a47a8eaf5ee6ecab0d686f066f3081de9a572f1dde3b2a8a7fb055","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"f96a023e442f02cf551b4cfe435805ccb0a7e13c81619d4da61ec835d03fe512","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"5b2e73adcb25865d31c21accdc8f82de1eaded23c6f73230e474df156942380e","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"64ede330464b9fd5d35327c32dd2770e7474127ed09769655ebce70992af5f44","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"bcd0418abb8a5c9fe7db36a96ca75fc78455b0efab270ee89b8e49916eac5174","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"fbf68fc8057932b1c30107ebc37420f8d8dc4bef1253c4c2f9e141886c0df5ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"7d8b16d7f33d5081beac7a657a6d13f11a72cf094cc5e37cda1b9d8c89371951","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"217941ef5c6fd81b77cd0073c94019a98e20777eaac6c4326156bf6b021ed547","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"63b05afa6121657f25e99e1519596b0826cda026f09372c9100dfe21417f4bd6","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f025c51bcc3c7dacbedb4b9a398815f4d5c6f4c645db40880cee4ac6f89588de","impliedFormat":1},"61da60198d58f00210a34b39a0625a136ae63d7cf42500e764b91b2e5e2dbdcb","4c11afc0bcf5ad4cb8351103476e6e8076ad11f563ae65a94a14b94d158d046a","2ffaa1f7886d57fe801bd41337521c661ee17d657d1004e504d5422f62cfd23c","738433a0f2e73b2ba4ebbcaa6487030e0b8aa64e65813a160e1b845e20338d9c","972608570a8b1d91ef22149c069a5c29d75d00b4131e2697ea6d42302d3548b9",{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"1bc5991c91bf4be8b59db501ed284a34945d95abe9b7451d02ea001f7c5621a9","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"1c8384a195a2d931cf6e2b8f656acf558ca649a3f74922d86b95889f49a7f7c5","impliedFormat":1},{"version":"cd11655f57a3558dfcee05a6e78c026f9dfd30535eaf124439c5e88a5617359b","impliedFormat":1},{"version":"83a328cba2f47fc5a948eac394ae2ef2a5a0d26dd366ab373d2c2178bbdcd36c","impliedFormat":1},"2aafbaf6ace811133c4858f9184a6597866fbccb89eb6f1b9c4247e87d0bbfed","2a3c89ad1f603f3f0358499abf18332d30a4d34bb8070f23d5aa9e948cce3998","9e795af82140c310a86279c6f0079d8de3b4db03b4d9476267aa8703a9b7d7a7","46a0b34e1264c4d25ca6646ff0e6cfaa7275ea1ae5a6bc23d4dfd84edf2f2b2e","3dd00310a80b51f37de6c082119f40fdf820dce9410739658e6fa76eceadcaa0",{"version":"abeb98f9c33e1aa2f9e02485eda40de17e9a97230072109e96db1e92b9963b93","signature":"c7f308c98232b1db980cd30e47863d2c3ea0f5aa5be81ff12a3d10442ad9d9f7"},"cf27a60556daaea6b9d1d27168308f8a128880d8485851e22eb9f0c74b5da5dd","2ca9fb9328f97e06648279e69dada7c0543954567c7b6e9db53b30e785c5347c","5f3dcc311154776306a5c0eacd2155e8c6f7e535c03ef0b8357a3aa2d776f227","58ca4e75a54fdc39de06adff9084fe7734d956271cd5d4bed84726cf1efb56a3","63201ccadeea78aa45cab1e7bebccfa0b1ada7d961cbaa4f1a92af02ccfec77d",{"version":"d529a01a206d6a2397631eea0cf3454a35689f0eba1fae0821fe2fb28517ae3a","signature":"adc339cfac8f9b4e03f1436b1fdb29c6e291e719152d44f1b3a9b030d63505c1"},{"version":"eb4f08728119262cae2e20c04b947cdc2657fec79eb041932c9a544d1ef83592","signature":"edb860f972a326c5a15e28eb3606cda33fa628b63c8d5b92564070d409f0bc06"},{"version":"f4104827dc7f8a7f2e186d8e9fe4b79bfc6e2937031b53c595637ae614d4675f","signature":"397f949f93d23ebdd7f931b402870ac1fad7aaee26b3957f40a5bd739b699fe1"},{"version":"755715ed6610c98b072ba25aaffb02776e33d0cf29c1d750e056d5bb824790d8","signature":"5076845b7f976db2dd6c181620be3f63da5694d338a4a479e546abf670ea9155"},{"version":"0662ce577e896532102a21e6ed36c80fa41cd278405663e4d840e69e698f35fd","signature":"0cc0d21737c850957c564e38cf710bd59d9b015be2fce1ac9c4a6da8445e805b"},{"version":"32b6c43fffef936e49a7699393494860bf47b4e948db4de7552381ade0c4bca1","signature":"288b7d82945b9e05f8fd19807bfd58022a0b6c9b9bd001cdcd4758a5fef39832"},{"version":"3ca4b5241ab98292b46b14d6a6d0a45cc4e0201a55293d4b8a297c7389351743","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f6144c943d1c134761f023d01b4737c6c1ddfdd4cac7ee13a0a64832473a66e1","signature":"50f956761821f6e8ca08bedf53b7ff35f307f6683d7c1c45bd45d9d7cf8e1856"},{"version":"0801e7f2e384cddc91022c5986738f6ad0f9ee27c638ce82d7281709f1281bb2","signature":"a05339ad4a2e5dc5cb11fea434eb6b2bc13a31a4008e0dddb655301e775cf926"},{"version":"7094f4136e5c2f71feeb4726b5a98468a6cd774cdb11e51d9ecde9d44d85d302","signature":"814c0d27a1cecf0f6cdc01ab233a9b351c52017d123c6db4d97dfd5f26822093"},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[166,[172,181]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":false,"target":4,"useDefineForClassFields":false},"referencedMap":[[182,1],[185,2],[184,1],[190,3],[94,4],[95,4],[96,5],[54,6],[97,7],[98,8],[99,9],[49,1],[52,10],[50,1],[51,1],[100,11],[101,12],[102,13],[103,14],[104,15],[105,16],[106,16],[108,17],[107,18],[109,19],[110,20],[111,21],[93,22],[53,1],[112,23],[113,24],[114,25],[147,26],[115,27],[116,28],[117,29],[118,30],[119,31],[120,32],[121,33],[122,34],[123,35],[124,36],[125,36],[126,37],[127,1],[128,1],[129,38],[131,39],[130,40],[132,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,52],[144,53],[145,54],[146,55],[154,1],[55,1],[183,1],[189,56],[148,57],[187,58],[188,59],[155,60],[186,61],[48,1],[46,1],[47,1],[8,1],[9,1],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[20,1],[21,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[1,1],[71,62],[81,63],[70,62],[91,64],[62,65],[61,66],[90,67],[84,68],[89,69],[64,70],[78,71],[63,72],[87,73],[59,74],[58,67],[88,75],[60,76],[65,77],[66,1],[69,77],[56,1],[92,78],[82,79],[73,80],[74,81],[76,82],[72,83],[75,84],[85,67],[67,85],[68,86],[77,87],[57,88],[80,79],[79,77],[83,1],[86,89],[160,90],[156,91],[159,92],[157,67],[158,93],[170,94],[169,1],[171,95],[167,1],[168,96],[164,1],[163,1],[153,1],[149,1],[150,1],[165,97],[161,98],[162,1],[152,1],[151,1],[173,99],[172,100],[175,101],[179,102],[177,103],[176,104],[178,105],[174,106],[166,107],[180,100],[181,100]],"version":"5.8.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/generic-pool/index.d.ts","../../env/dist/dependency-graph.d.ts","../../env/dist/dependency-order.d.ts","../../env/dist/scene-modules.d.ts","../../env/dist/operato-modules.d.ts","../../env/dist/config.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../../node_modules/winston-daily-rotate-file/index.d.ts","../../env/dist/logger.d.ts","../../env/dist/module-loader.d.ts","../../env/dist/app-root-path.d.ts","../../env/dist/app-package.d.ts","../../env/dist/index.d.ts","../server/services/headless-pool.ts","../../cache-service/dist-server/service/cache-store/cache-store.d.ts","../../cache-service/dist-server/service/index.d.ts","../../cache-service/dist-server/controllers/types.d.ts","../../cache-service/dist-server/controllers/cache-service.d.ts","../../cache-service/dist-server/index.d.ts","../server/controllers/types.ts","../server/controllers/open-meteo-adapter.ts","../server/services/chrome-renderer.ts","../server/controllers/weather-controller.ts","../server/routers/weather-router.ts","../server/routers/geo-router.ts","../server/routes.ts","../server/index.ts","../server/utils/svg-utils.ts","../server/utils/tile-utils.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileIdsList":[[54,97],[54,97,184],[54,97,186,189],[54,94,97],[54,96,97],[97],[54,97,102,132],[54,97,98,103,109,110,117,129,140],[54,97,98,99,109,117],[49,50,51,54,97],[54,97,100,141],[54,97,101,102,110,118],[54,97,102,129,137],[54,97,103,105,109,117],[54,96,97,104],[54,97,105,106],[54,97,109],[54,97,107,109],[54,96,97,109],[54,97,109,110,111,129,140],[54,97,109,110,111,124,129,132],[54,92,97,145],[54,92,97,105,109,112,117,129,140],[54,97,109,110,112,113,117,129,137,140],[54,97,112,114,129,137,140],[52,53,54,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],[54,97,109,115],[54,97,116,140],[54,97,105,109,117,129],[54,97,118],[54,97,119],[54,96,97,120],[54,94,95,96,97,98,99,100,101,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],[54,97,122],[54,97,123],[54,97,109,124,125],[54,97,124,126,141,143],[54,97,109,129,130,132],[54,97,131,132],[54,97,129,130],[54,97,132],[54,97,133],[54,94,97,129],[54,97,109,135,136],[54,97,135,136],[54,97,102,117,129,137],[54,97,138],[54,97,117,139],[54,97,112,123,140],[54,97,102,141],[54,97,129,142],[54,97,116,143],[54,97,144],[54,97,102,109,111,120,129,140,143,145],[54,97,129,146],[54,97,182,188],[54,97,109,147],[54,97,186],[54,97,183,187],[54,97,154],[54,97,185],[54,64,68,97,140],[54,64,97,129,140],[54,59,97],[54,61,64,97,137,140],[54,97,117,137],[54,97,147],[54,59,97,147],[54,61,64,97,117,140],[54,56,57,60,63,97,109,129,140],[54,64,71,97],[54,56,62,97],[54,64,85,86,97],[54,60,64,97,132,140,147],[54,85,97,147],[54,58,59,97,147],[54,64,97],[54,58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91,97],[54,64,79,97],[54,64,71,72,97],[54,62,64,72,73,97],[54,63,97],[54,56,59,64,97],[54,64,68,72,73,97],[54,68,97],[54,62,64,67,97,140],[54,56,61,64,71,97],[54,97,129],[54,59,64,85,97,145,147],[54,97,156,158],[54,97,129,147,155],[54,97,129,147,155,156,157,158],[54,97,112,147,156],[54,97,169],[54,97,168,170],[54,97,167],[54,97,149,150,151,152,153,161,162,163,164],[54,97,159,160],[48,54,97,165,172],[48,54,97],[48,54,97,165,171,172,173,174],[48,54,97,178],[48,54,97,98,110,119,141,165],[48,54,97,175],[48,54,97,166,176,177],[48,54,97,166],[48,54,97,148,165]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fa51737611c21ba3a5ac02c4e1535741d58bec67c9bdf94b1837a31c97a2263","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"f9677e434b7a3b14f0a9367f9dfa1227dfe3ee661792d0085523c3191ae6a1a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"9057f224b79846e3a95baf6dad2c8103278de2b0c5eebda23fc8188171ad2398","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0476e6b51a47a8eaf5ee6ecab0d686f066f3081de9a572f1dde3b2a8a7fb055","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"f96a023e442f02cf551b4cfe435805ccb0a7e13c81619d4da61ec835d03fe512","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"5b2e73adcb25865d31c21accdc8f82de1eaded23c6f73230e474df156942380e","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"64ede330464b9fd5d35327c32dd2770e7474127ed09769655ebce70992af5f44","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"bcd0418abb8a5c9fe7db36a96ca75fc78455b0efab270ee89b8e49916eac5174","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"fbf68fc8057932b1c30107ebc37420f8d8dc4bef1253c4c2f9e141886c0df5ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"7d8b16d7f33d5081beac7a657a6d13f11a72cf094cc5e37cda1b9d8c89371951","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"217941ef5c6fd81b77cd0073c94019a98e20777eaac6c4326156bf6b021ed547","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"63b05afa6121657f25e99e1519596b0826cda026f09372c9100dfe21417f4bd6","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f025c51bcc3c7dacbedb4b9a398815f4d5c6f4c645db40880cee4ac6f89588de","impliedFormat":1},"61da60198d58f00210a34b39a0625a136ae63d7cf42500e764b91b2e5e2dbdcb","4c11afc0bcf5ad4cb8351103476e6e8076ad11f563ae65a94a14b94d158d046a","2ffaa1f7886d57fe801bd41337521c661ee17d657d1004e504d5422f62cfd23c","738433a0f2e73b2ba4ebbcaa6487030e0b8aa64e65813a160e1b845e20338d9c","972608570a8b1d91ef22149c069a5c29d75d00b4131e2697ea6d42302d3548b9",{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"1bc5991c91bf4be8b59db501ed284a34945d95abe9b7451d02ea001f7c5621a9","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"1c8384a195a2d931cf6e2b8f656acf558ca649a3f74922d86b95889f49a7f7c5","impliedFormat":1},{"version":"cd11655f57a3558dfcee05a6e78c026f9dfd30535eaf124439c5e88a5617359b","impliedFormat":1},{"version":"83a328cba2f47fc5a948eac394ae2ef2a5a0d26dd366ab373d2c2178bbdcd36c","impliedFormat":1},"2aafbaf6ace811133c4858f9184a6597866fbccb89eb6f1b9c4247e87d0bbfed","2a3c89ad1f603f3f0358499abf18332d30a4d34bb8070f23d5aa9e948cce3998","9e795af82140c310a86279c6f0079d8de3b4db03b4d9476267aa8703a9b7d7a7","46a0b34e1264c4d25ca6646ff0e6cfaa7275ea1ae5a6bc23d4dfd84edf2f2b2e","3dd00310a80b51f37de6c082119f40fdf820dce9410739658e6fa76eceadcaa0",{"version":"abeb98f9c33e1aa2f9e02485eda40de17e9a97230072109e96db1e92b9963b93","signature":"c7f308c98232b1db980cd30e47863d2c3ea0f5aa5be81ff12a3d10442ad9d9f7"},"cf27a60556daaea6b9d1d27168308f8a128880d8485851e22eb9f0c74b5da5dd","2ca9fb9328f97e06648279e69dada7c0543954567c7b6e9db53b30e785c5347c","5f3dcc311154776306a5c0eacd2155e8c6f7e535c03ef0b8357a3aa2d776f227","58ca4e75a54fdc39de06adff9084fe7734d956271cd5d4bed84726cf1efb56a3","63201ccadeea78aa45cab1e7bebccfa0b1ada7d961cbaa4f1a92af02ccfec77d",{"version":"d529a01a206d6a2397631eea0cf3454a35689f0eba1fae0821fe2fb28517ae3a","signature":"adc339cfac8f9b4e03f1436b1fdb29c6e291e719152d44f1b3a9b030d63505c1"},{"version":"eb4f08728119262cae2e20c04b947cdc2657fec79eb041932c9a544d1ef83592","signature":"edb860f972a326c5a15e28eb3606cda33fa628b63c8d5b92564070d409f0bc06"},{"version":"f4104827dc7f8a7f2e186d8e9fe4b79bfc6e2937031b53c595637ae614d4675f","signature":"397f949f93d23ebdd7f931b402870ac1fad7aaee26b3957f40a5bd739b699fe1"},{"version":"755715ed6610c98b072ba25aaffb02776e33d0cf29c1d750e056d5bb824790d8","signature":"5076845b7f976db2dd6c181620be3f63da5694d338a4a479e546abf670ea9155"},{"version":"0662ce577e896532102a21e6ed36c80fa41cd278405663e4d840e69e698f35fd","signature":"0cc0d21737c850957c564e38cf710bd59d9b015be2fce1ac9c4a6da8445e805b"},{"version":"32b6c43fffef936e49a7699393494860bf47b4e948db4de7552381ade0c4bca1","signature":"288b7d82945b9e05f8fd19807bfd58022a0b6c9b9bd001cdcd4758a5fef39832"},{"version":"3ca4b5241ab98292b46b14d6a6d0a45cc4e0201a55293d4b8a297c7389351743","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f6144c943d1c134761f023d01b4737c6c1ddfdd4cac7ee13a0a64832473a66e1","signature":"50f956761821f6e8ca08bedf53b7ff35f307f6683d7c1c45bd45d9d7cf8e1856"},{"version":"0801e7f2e384cddc91022c5986738f6ad0f9ee27c638ce82d7281709f1281bb2","signature":"a05339ad4a2e5dc5cb11fea434eb6b2bc13a31a4008e0dddb655301e775cf926"},{"version":"7094f4136e5c2f71feeb4726b5a98468a6cd774cdb11e51d9ecde9d44d85d302","signature":"814c0d27a1cecf0f6cdc01ab233a9b351c52017d123c6db4d97dfd5f26822093"},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1}],"root":[166,[172,181]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":1,"noEmitOnError":true,"noImplicitAny":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":false,"target":4,"useDefineForClassFields":false},"referencedMap":[[182,1],[185,2],[184,1],[190,3],[94,4],[95,4],[96,5],[54,6],[97,7],[98,8],[99,9],[49,1],[52,10],[50,1],[51,1],[100,11],[101,12],[102,13],[103,14],[104,15],[105,16],[106,16],[108,17],[107,18],[109,19],[110,20],[111,21],[93,22],[53,1],[112,23],[113,24],[114,25],[147,26],[115,27],[116,28],[117,29],[118,30],[119,31],[120,32],[121,33],[122,34],[123,35],[124,36],[125,36],[126,37],[127,1],[128,1],[129,38],[131,39],[130,40],[132,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,52],[144,53],[145,54],[146,55],[154,1],[55,1],[183,1],[189,56],[148,57],[187,58],[188,59],[155,60],[186,61],[48,1],[46,1],[47,1],[8,1],[9,1],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[20,1],[21,1],[4,1],[22,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[1,1],[71,62],[81,63],[70,62],[91,64],[62,65],[61,66],[90,67],[84,68],[89,69],[64,70],[78,71],[63,72],[87,73],[59,74],[58,67],[88,75],[60,76],[65,77],[66,1],[69,77],[56,1],[92,78],[82,79],[73,80],[74,81],[76,82],[72,83],[75,84],[85,67],[67,85],[68,86],[77,87],[57,88],[80,79],[79,77],[83,1],[86,89],[160,90],[156,91],[159,92],[157,67],[158,93],[170,94],[169,1],[171,95],[167,1],[168,96],[164,1],[163,1],[153,1],[149,1],[150,1],[165,97],[161,98],[162,1],[152,1],[151,1],[173,99],[172,100],[175,101],[179,102],[177,103],[176,104],[178,105],[174,106],[166,107],[180,100],[181,100]],"version":"5.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/weather",
3
- "version": "9.0.0-beta.56",
3
+ "version": "9.0.0-beta.58",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -31,10 +31,10 @@
31
31
  "@mapbox/mbtiles": "^0.12.1",
32
32
  "@operato/graphql": "^9.0.0-beta",
33
33
  "@operato/shell": "^9.0.0-beta",
34
- "@things-factory/auth-base": "^9.0.0-beta.55",
35
- "@things-factory/cache-service": "^9.0.0-beta.55",
36
- "@things-factory/env": "^9.0.0-beta.52",
37
- "@things-factory/shell": "^9.0.0-beta.52",
34
+ "@things-factory/auth-base": "^9.0.0-beta.58",
35
+ "@things-factory/cache-service": "^9.0.0-beta.58",
36
+ "@things-factory/env": "^9.0.0-beta.58",
37
+ "@things-factory/shell": "^9.0.0-beta.58",
38
38
  "colormap": "^2.3.2",
39
39
  "ol": "^10.4.0",
40
40
  "puppeteer": "^24.5.0"
@@ -42,5 +42,5 @@
42
42
  "devDependencies": {
43
43
  "@types/colormap": "^2.3.4"
44
44
  },
45
- "gitHead": "380a995d4b67c40c17f303d2e241f3d3ffaeb4fc"
45
+ "gitHead": "9029a5c2632858e5bf7b2d4d4a22211bb05b07a2"
46
46
  }
@@ -1,53 +0,0 @@
1
- import ImageStatic from 'ol/source/ImageStatic';
2
- import { Extent } from 'ol/extent';
3
- import { ProjectionLike } from 'ol/proj';
4
- import { AttributionLike } from 'ol/source/Source';
5
- declare class WebGLImageStatic extends ImageStatic {
6
- private canvas;
7
- private gl;
8
- private program;
9
- private texture;
10
- private buffer;
11
- private opacity;
12
- private blendMode;
13
- constructor(option: {
14
- url: string;
15
- projection: ProjectionLike;
16
- interpolation?: boolean;
17
- imageExtent: Extent;
18
- crossOrigin?: string;
19
- attributions?: AttributionLike;
20
- opacity?: number;
21
- blendMode?: string;
22
- });
23
- /**
24
- * 투명도 설정
25
- */
26
- setOpacity(opacity: number): void;
27
- /**
28
- * 블렌드 모드 설정
29
- */
30
- setBlendMode(blendMode: string): void;
31
- /**
32
- * WebGL 초기화
33
- */
34
- private _initializeWebGL;
35
- /**
36
- * WebGL에서 사용하는 버퍼 설정
37
- */
38
- private _initializeBuffers;
39
- /**
40
- * WebGL을 사용하여 렌더링
41
- */
42
- private _renderTexture;
43
- /**
44
- * WebGL에서 기후 데이터 이미지를 로드
45
- */
46
- private _loadImageWithWebGL;
47
- /**
48
- * 셰이더 프로그램 생성
49
- */
50
- private _createShaderProgram;
51
- private _compileShader;
52
- }
53
- export default WebGLImageStatic;
@@ -1,196 +0,0 @@
1
- import ImageStatic from 'ol/source/ImageStatic';
2
- class WebGLImageStatic extends ImageStatic {
3
- constructor(option) {
4
- super(Object.assign(Object.assign({}, option), { imageLoadFunction: (image, src) => this._loadImageWithWebGL(image, src) }));
5
- this.canvas = null;
6
- this.gl = null;
7
- this.program = null;
8
- this.texture = null;
9
- this.buffer = null;
10
- this.opacity = 0.8;
11
- this.blendMode = 'normal';
12
- // 옵션에서 값 설정 (기본값 제공)
13
- this.opacity = option.opacity !== undefined ? option.opacity : 0.8;
14
- this.blendMode = option.blendMode || 'normal';
15
- // WebGL 컨텍스트 설정
16
- this.canvas = document.createElement('canvas');
17
- this.gl = this.canvas.getContext('webgl', {
18
- alpha: true,
19
- antialias: false,
20
- depth: false
21
- });
22
- if (!this.gl) {
23
- throw new Error('WebGL을 초기화할 수 없습니다.');
24
- }
25
- this._initializeWebGL();
26
- }
27
- /**
28
- * 투명도 설정
29
- */
30
- setOpacity(opacity) {
31
- if (opacity !== this.opacity) {
32
- this.opacity = opacity;
33
- if (this.texture) {
34
- this._renderTexture();
35
- }
36
- }
37
- }
38
- /**
39
- * 블렌드 모드 설정
40
- */
41
- setBlendMode(blendMode) {
42
- if (blendMode !== this.blendMode) {
43
- this.blendMode = blendMode;
44
- if (this.texture) {
45
- this._renderTexture();
46
- }
47
- }
48
- }
49
- /**
50
- * WebGL 초기화
51
- */
52
- _initializeWebGL() {
53
- this.program = this._createShaderProgram();
54
- if (!this.program)
55
- return;
56
- this._initializeBuffers();
57
- }
58
- /**
59
- * WebGL에서 사용하는 버퍼 설정
60
- */
61
- _initializeBuffers() {
62
- const vertices = new Float32Array([-1, -1, 0, 1, 1, -1, 1, 1, -1, 1, 0, 0, 1, 1, 1, 0]);
63
- const gl = this.gl;
64
- this.buffer = gl.createBuffer();
65
- gl.bindBuffer(gl.ARRAY_BUFFER, this.buffer);
66
- gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);
67
- }
68
- /**
69
- * WebGL을 사용하여 렌더링
70
- */
71
- _renderTexture() {
72
- if (!this.gl || !this.program || !this.texture || !this.buffer)
73
- return;
74
- this.gl.viewport(0, 0, this.canvas.width, this.canvas.height);
75
- this.gl.clearColor(0, 0, 0, 0);
76
- this.gl.clear(this.gl.COLOR_BUFFER_BIT);
77
- this.gl.useProgram(this.program);
78
- this.gl.activeTexture(this.gl.TEXTURE0);
79
- this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture);
80
- this.gl.uniform1i(this.gl.getUniformLocation(this.program, 'u_texture'), 0);
81
- // 사용자 지정 투명도 사용
82
- this.gl.uniform1f(this.gl.getUniformLocation(this.program, 'u_opacity'), this.opacity);
83
- // 블렌드 모드 설정
84
- let blendModeValue = 0; // normal
85
- switch (this.blendMode) {
86
- case 'multiply':
87
- blendModeValue = 1;
88
- break;
89
- case 'screen':
90
- blendModeValue = 2;
91
- break;
92
- case 'color-dodge':
93
- blendModeValue = 3;
94
- break;
95
- case 'invert':
96
- blendModeValue = 4;
97
- break;
98
- }
99
- this.gl.uniform1i(this.gl.getUniformLocation(this.program, 'u_blendMode'), blendModeValue);
100
- this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.buffer);
101
- const a_position = this.gl.getAttribLocation(this.program, 'a_position');
102
- const a_texCoord = this.gl.getAttribLocation(this.program, 'a_texCoord');
103
- this.gl.enableVertexAttribArray(a_position);
104
- this.gl.enableVertexAttribArray(a_texCoord);
105
- this.gl.vertexAttribPointer(a_position, 2, this.gl.FLOAT, false, 16, 0);
106
- this.gl.vertexAttribPointer(a_texCoord, 2, this.gl.FLOAT, false, 16, 8);
107
- this.gl.drawArrays(this.gl.TRIANGLE_STRIP, 0, 4);
108
- }
109
- /**
110
- * WebGL에서 기후 데이터 이미지를 로드
111
- */
112
- _loadImageWithWebGL(image, src) {
113
- const img = new Image();
114
- img.crossOrigin = 'anonymous';
115
- img.onload = () => {
116
- if (!this.gl)
117
- return;
118
- // 캔버스 크기 설정
119
- this.canvas.width = img.width;
120
- this.canvas.height = img.height;
121
- this.texture = this.gl.createTexture();
122
- this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture);
123
- this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_S, this.gl.CLAMP_TO_EDGE);
124
- this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_T, this.gl.CLAMP_TO_EDGE);
125
- this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR);
126
- this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR);
127
- this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, img);
128
- this._renderTexture();
129
- image.getImage().src = this.canvas.toDataURL('image/png');
130
- this.gl = null;
131
- this.canvas = null;
132
- };
133
- img.src = src;
134
- }
135
- /**
136
- * 셰이더 프로그램 생성
137
- */
138
- _createShaderProgram() {
139
- const vertexShaderSource = `
140
- precision highp float;
141
- attribute vec4 a_position;
142
- attribute vec2 a_texCoord;
143
- varying vec2 v_texCoord;
144
- void main() {
145
- gl_Position = a_position;
146
- v_texCoord = a_texCoord;
147
- }`;
148
- const fragmentShaderSource = `
149
- precision highp float;
150
- uniform sampler2D u_texture;
151
- uniform float u_opacity;
152
- uniform int u_blendMode;
153
- varying vec2 v_texCoord;
154
-
155
- void main() {
156
- vec4 texColor = texture2D(u_texture, v_texCoord);
157
-
158
- // 완전 투명한 픽셀은 렌더링하지 않음
159
- if (texColor.a < 0.01) {
160
- discard;
161
- }
162
-
163
- float temperature = texColor.r; // 예: 빨간 채널에 온도 정보가 있다고 가정
164
- vec3 color;
165
-
166
- if (temperature < 0.3) {
167
- color = mix(vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 1.0), temperature / 0.3); // 파란색에서 청록색으로
168
- } else if (temperature < 0.6) {
169
- color = mix(vec3(0.0, 1.0, 1.0), vec3(0.0, 1.0, 0.0), (temperature - 0.3) / 0.3); // 청록색에서 녹색으로
170
- } else {
171
- color = mix(vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), (temperature - 0.6) / 0.4); // 녹색에서 빨간색으로
172
- }
173
-
174
- gl_FragColor = vec4(color, texColor.a * u_opacity);
175
- }`;
176
- const gl = this.gl;
177
- const vertexShader = this._compileShader(gl.VERTEX_SHADER, vertexShaderSource);
178
- const fragmentShader = this._compileShader(gl.FRAGMENT_SHADER, fragmentShaderSource);
179
- if (!vertexShader || !fragmentShader)
180
- return null;
181
- const program = gl.createProgram();
182
- gl.attachShader(program, vertexShader);
183
- gl.attachShader(program, fragmentShader);
184
- gl.linkProgram(program);
185
- return gl.getProgramParameter(program, gl.LINK_STATUS) ? program : null;
186
- }
187
- _compileShader(type, source) {
188
- const gl = this.gl;
189
- const shader = gl.createShader(type);
190
- gl.shaderSource(shader, source);
191
- gl.compileShader(shader);
192
- return gl.getShaderParameter(shader, gl.COMPILE_STATUS) ? shader : null;
193
- }
194
- }
195
- export default WebGLImageStatic;
196
- //# sourceMappingURL=webgl-image-static.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webgl-image-static.js","sourceRoot":"","sources":["../../client/ol-components/webgl-image-static.ts"],"names":[],"mappings":"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","sourcesContent":["import ImageStatic from 'ol/source/ImageStatic'\nimport ImageWrapper from 'ol/Image'\nimport { Extent } from 'ol/extent'\nimport { ProjectionLike } from 'ol/proj'\nimport { AttributionLike } from 'ol/source/Source'\n\nclass WebGLImageStatic extends ImageStatic {\n private canvas: HTMLCanvasElement | null = null\n private gl: WebGLRenderingContext | null = null\n private program: WebGLProgram | null = null\n private texture: WebGLTexture | null = null\n private buffer: WebGLBuffer | null = null\n private opacity: number = 0.8\n private blendMode: string = 'normal'\n\n constructor(option: {\n url: string\n projection: ProjectionLike\n interpolation?: boolean\n imageExtent: Extent\n crossOrigin?: string\n attributions?: AttributionLike\n opacity?: number\n blendMode?: string\n }) {\n super({\n ...option,\n imageLoadFunction: (image, src) => this._loadImageWithWebGL(image, src)\n })\n\n // 옵션에서 값 설정 (기본값 제공)\n this.opacity = option.opacity !== undefined ? option.opacity : 0.8\n this.blendMode = option.blendMode || 'normal'\n\n // WebGL 컨텍스트 설정\n this.canvas = document.createElement('canvas')\n this.gl = this.canvas.getContext('webgl', {\n alpha: true,\n antialias: false,\n depth: false\n }) as WebGLRenderingContext\n\n if (!this.gl) {\n throw new Error('WebGL을 초기화할 수 없습니다.')\n }\n\n this._initializeWebGL()\n }\n\n /**\n * 투명도 설정\n */\n public setOpacity(opacity: number): void {\n if (opacity !== this.opacity) {\n this.opacity = opacity\n if (this.texture) {\n this._renderTexture()\n }\n }\n }\n\n /**\n * 블렌드 모드 설정\n */\n public setBlendMode(blendMode: string): void {\n if (blendMode !== this.blendMode) {\n this.blendMode = blendMode\n if (this.texture) {\n this._renderTexture()\n }\n }\n }\n\n /**\n * WebGL 초기화\n */\n private _initializeWebGL() {\n this.program = this._createShaderProgram()\n\n if (!this.program) return\n\n this._initializeBuffers()\n }\n\n /**\n * WebGL에서 사용하는 버퍼 설정\n */\n private _initializeBuffers() {\n const vertices = new Float32Array([-1, -1, 0, 1, 1, -1, 1, 1, -1, 1, 0, 0, 1, 1, 1, 0])\n const gl = this.gl!\n\n this.buffer = gl.createBuffer()\n gl.bindBuffer(gl.ARRAY_BUFFER, this.buffer)\n gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW)\n }\n\n /**\n * WebGL을 사용하여 렌더링\n */\n private _renderTexture() {\n if (!this.gl || !this.program || !this.texture || !this.buffer) return\n\n this.gl.viewport(0, 0, this.canvas!.width, this.canvas!.height)\n this.gl.clearColor(0, 0, 0, 0)\n this.gl.clear(this.gl.COLOR_BUFFER_BIT)\n this.gl.useProgram(this.program)\n\n this.gl.activeTexture(this.gl.TEXTURE0)\n this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture)\n this.gl.uniform1i(this.gl.getUniformLocation(this.program, 'u_texture'), 0)\n\n // 사용자 지정 투명도 사용\n this.gl.uniform1f(this.gl.getUniformLocation(this.program, 'u_opacity'), this.opacity)\n\n // 블렌드 모드 설정\n let blendModeValue = 0 // normal\n switch (this.blendMode) {\n case 'multiply':\n blendModeValue = 1\n break\n case 'screen':\n blendModeValue = 2\n break\n case 'color-dodge':\n blendModeValue = 3\n break\n case 'invert':\n blendModeValue = 4\n break\n }\n this.gl.uniform1i(this.gl.getUniformLocation(this.program, 'u_blendMode'), blendModeValue)\n\n this.gl.bindBuffer(this.gl.ARRAY_BUFFER, this.buffer)\n const a_position = this.gl.getAttribLocation(this.program, 'a_position')\n const a_texCoord = this.gl.getAttribLocation(this.program, 'a_texCoord')\n\n this.gl.enableVertexAttribArray(a_position)\n this.gl.enableVertexAttribArray(a_texCoord)\n this.gl.vertexAttribPointer(a_position, 2, this.gl.FLOAT, false, 16, 0)\n this.gl.vertexAttribPointer(a_texCoord, 2, this.gl.FLOAT, false, 16, 8)\n this.gl.drawArrays(this.gl.TRIANGLE_STRIP, 0, 4)\n }\n\n /**\n * WebGL에서 기후 데이터 이미지를 로드\n */\n private _loadImageWithWebGL(image: ImageWrapper, src: string) {\n const img = new Image()\n img.crossOrigin = 'anonymous'\n\n img.onload = () => {\n if (!this.gl) return\n\n // 캔버스 크기 설정\n this.canvas!.width = img.width\n this.canvas!.height = img.height\n\n this.texture = this.gl.createTexture()\n this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture)\n\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_S, this.gl.CLAMP_TO_EDGE)\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_WRAP_T, this.gl.CLAMP_TO_EDGE)\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR)\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR)\n\n this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, img)\n\n this._renderTexture()\n ;(image.getImage() as HTMLImageElement | HTMLVideoElement).src = this.canvas!.toDataURL('image/png')\n\n this.gl = null\n this.canvas = null\n }\n\n img.src = src\n }\n\n /**\n * 셰이더 프로그램 생성\n */\n private _createShaderProgram(): WebGLProgram | null {\n const vertexShaderSource = `\n precision highp float;\n attribute vec4 a_position;\n attribute vec2 a_texCoord;\n varying vec2 v_texCoord;\n void main() {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n }`\n\n const fragmentShaderSource = `\n precision highp float;\n uniform sampler2D u_texture;\n uniform float u_opacity;\n uniform int u_blendMode;\n varying vec2 v_texCoord;\n \n void main() {\n vec4 texColor = texture2D(u_texture, v_texCoord);\n \n // 완전 투명한 픽셀은 렌더링하지 않음\n if (texColor.a < 0.01) {\n discard;\n }\n \n float temperature = texColor.r; // 예: 빨간 채널에 온도 정보가 있다고 가정\n vec3 color;\n\n if (temperature < 0.3) {\n color = mix(vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 1.0), temperature / 0.3); // 파란색에서 청록색으로\n } else if (temperature < 0.6) {\n color = mix(vec3(0.0, 1.0, 1.0), vec3(0.0, 1.0, 0.0), (temperature - 0.3) / 0.3); // 청록색에서 녹색으로\n } else {\n color = mix(vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), (temperature - 0.6) / 0.4); // 녹색에서 빨간색으로\n }\n\n gl_FragColor = vec4(color, texColor.a * u_opacity);\n }`\n\n const gl = this.gl!\n const vertexShader = this._compileShader(gl.VERTEX_SHADER, vertexShaderSource)\n const fragmentShader = this._compileShader(gl.FRAGMENT_SHADER, fragmentShaderSource)\n if (!vertexShader || !fragmentShader) return null\n\n const program = gl.createProgram()!\n gl.attachShader(program, vertexShader)\n gl.attachShader(program, fragmentShader)\n gl.linkProgram(program)\n\n return gl.getProgramParameter(program, gl.LINK_STATUS) ? program : null\n }\n\n private _compileShader(type: number, source: string): WebGLShader | null {\n const gl = this.gl!\n\n const shader = gl.createShader(type)!\n gl.shaderSource(shader, source)\n gl.compileShader(shader)\n return gl.getShaderParameter(shader, gl.COMPILE_STATUS) ? shader : null\n }\n}\n\nexport default WebGLImageStatic\n"]}
@@ -1,3 +0,0 @@
1
- import DataTileSource from 'ol/source/DataTile.js';
2
- declare const wind: DataTileSource<import("ol/DataTile").default>;
3
- export default wind;
@@ -1,104 +0,0 @@
1
- import { get as getProjection, transform } from 'ol/proj.js';
2
- import DataTileSource from 'ol/source/DataTile.js';
3
- import { createXYZ, wrapX } from 'ol/tilegrid.js';
4
- const windData = new Promise((resolve, reject) => {
5
- const image = new Image();
6
- image.onload = () => {
7
- const canvas = document.createElement('canvas');
8
- const width = image.width;
9
- const height = image.height;
10
- canvas.width = width;
11
- canvas.height = height;
12
- const context = canvas.getContext('2d');
13
- context.drawImage(image, 0, 0);
14
- const data = context.getImageData(0, 0, width, height).data;
15
- resolve({ data, width, height });
16
- };
17
- image.onerror = () => {
18
- reject(new Error('failed to load'));
19
- };
20
- image.src = '/assets/images/wind.png';
21
- });
22
- function bilinearInterpolation(xAlong, yAlong, v11, v21, v12, v22) {
23
- const q11 = (1 - xAlong) * (1 - yAlong) * v11;
24
- const q21 = xAlong * (1 - yAlong) * v21;
25
- const q12 = (1 - xAlong) * yAlong * v12;
26
- const q22 = xAlong * yAlong * v22;
27
- return q11 + q21 + q12 + q22;
28
- }
29
- function interpolatePixels(xAlong, yAlong, p11, p21, p12, p22) {
30
- return p11.map((_, i) => bilinearInterpolation(xAlong, yAlong, p11[i], p21[i], p12[i], p22[i]));
31
- }
32
- const dataTileGrid = createXYZ();
33
- const dataTileSize = 256;
34
- const inputImageProjection = getProjection('EPSG:4326');
35
- const dataTileProjection = getProjection('EPSG:3857');
36
- const inputBands = 4;
37
- const dataBands = 3;
38
- // range of wind velocities
39
- // these values are stretched between 0 and 255 in the png
40
- const minU = -21.32;
41
- const maxU = 26.8;
42
- const deltaU = maxU - minU;
43
- const minV = -21.57;
44
- const maxV = 21.42;
45
- const deltaV = maxV - minV;
46
- const wind = new DataTileSource({
47
- // transition must be 0, see https://github.com/openlayers/openlayers/issues/16119
48
- transition: 0,
49
- wrapX: true,
50
- async loader(z, x, y) {
51
- const { data: inputData, width: inputWidth, height: inputHeight } = await windData;
52
- const tileCoord = wrapX(dataTileGrid, [z, x, y], dataTileProjection);
53
- const extent = dataTileGrid.getTileCoordExtent(tileCoord);
54
- const resolution = dataTileGrid.getResolution(z);
55
- const data = new Float32Array(dataTileSize * dataTileSize * dataBands);
56
- for (let row = 0; row < dataTileSize; ++row) {
57
- let offset = row * dataTileSize * dataBands;
58
- const mapY = extent[3] - row * resolution;
59
- for (let col = 0; col < dataTileSize; ++col) {
60
- const mapX = extent[0] + col * resolution;
61
- const [lon, lat] = transform([mapX, mapY], dataTileProjection, inputImageProjection);
62
- const x = (inputWidth * (lon + 180)) / 360;
63
- let x1 = Math.floor(x);
64
- let x2 = Math.ceil(x);
65
- const xAlong = x - x1;
66
- if (x1 < 0) {
67
- x1 += inputWidth;
68
- }
69
- if (x2 >= inputWidth) {
70
- x2 -= inputWidth;
71
- }
72
- const y = (inputHeight * (90 - lat)) / 180;
73
- let y1 = Math.floor(y);
74
- let y2 = Math.ceil(y);
75
- const yAlong = y - y1;
76
- if (y1 < 0) {
77
- y1 = 0;
78
- }
79
- if (y2 >= inputHeight) {
80
- y2 = inputHeight - 1;
81
- }
82
- const corners = [
83
- [x1, y1],
84
- [x2, y1],
85
- [x1, y2],
86
- [x2, y2]
87
- ];
88
- const pixels = corners.map(([cx, cy]) => {
89
- const inputOffset = (cy * 360 + cx) * inputBands;
90
- return [inputData[inputOffset], inputData[inputOffset + 1]];
91
- });
92
- const interpolated = interpolatePixels(xAlong, yAlong, ...pixels);
93
- const u = minU + (deltaU * interpolated[0]) / 255;
94
- const v = minV + (deltaV * interpolated[1]) / 255;
95
- data[offset] = u;
96
- data[offset + 1] = v;
97
- offset += dataBands;
98
- }
99
- }
100
- return data;
101
- }
102
- });
103
- export default wind;
104
- //# sourceMappingURL=wind.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wind.js","sourceRoot":"","sources":["../../client/ol-components/wind.ts"],"names":[],"mappings":"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","sourcesContent":["import { get as getProjection, transform } from 'ol/proj.js'\nimport DataTileSource from 'ol/source/DataTile.js'\nimport { createXYZ, wrapX } from 'ol/tilegrid.js'\n\nconst windData: Promise<{ data: ArrayBuffer; width: number; height: number }> = new Promise((resolve, reject) => {\n const image = new Image()\n image.onload = () => {\n const canvas = document.createElement('canvas')\n const width = image.width\n const height = image.height\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')!\n context.drawImage(image, 0, 0)\n const data = context.getImageData(0, 0, width, height).data\n resolve({ data, width, height })\n }\n image.onerror = () => {\n reject(new Error('failed to load'))\n }\n image.src = '/assets/images/wind.png'\n})\n\nfunction bilinearInterpolation(xAlong, yAlong, v11, v21, v12, v22) {\n const q11 = (1 - xAlong) * (1 - yAlong) * v11\n const q21 = xAlong * (1 - yAlong) * v21\n const q12 = (1 - xAlong) * yAlong * v12\n const q22 = xAlong * yAlong * v22\n return q11 + q21 + q12 + q22\n}\n\nfunction interpolatePixels(xAlong, yAlong, p11, p21, p12, p22) {\n return p11.map((_, i) => bilinearInterpolation(xAlong, yAlong, p11[i], p21[i], p12[i], p22[i]))\n}\n\nconst dataTileGrid = createXYZ()\nconst dataTileSize = 256\n\nconst inputImageProjection = getProjection('EPSG:4326')!\nconst dataTileProjection = getProjection('EPSG:3857')!\n\nconst inputBands = 4\nconst dataBands = 3\n\n// range of wind velocities\n// these values are stretched between 0 and 255 in the png\nconst minU = -21.32\nconst maxU = 26.8\nconst deltaU = maxU - minU\nconst minV = -21.57\nconst maxV = 21.42\nconst deltaV = maxV - minV\n\nconst wind = new DataTileSource({\n // transition must be 0, see https://github.com/openlayers/openlayers/issues/16119\n transition: 0,\n wrapX: true,\n async loader(z, x, y) {\n const { data: inputData, width: inputWidth, height: inputHeight } = await windData\n\n const tileCoord = wrapX(dataTileGrid, [z, x, y], dataTileProjection)\n const extent = dataTileGrid.getTileCoordExtent(tileCoord)\n const resolution = dataTileGrid.getResolution(z)\n const data = new Float32Array(dataTileSize * dataTileSize * dataBands)\n for (let row = 0; row < dataTileSize; ++row) {\n let offset = row * dataTileSize * dataBands\n const mapY = extent[3] - row * resolution\n for (let col = 0; col < dataTileSize; ++col) {\n const mapX = extent[0] + col * resolution\n const [lon, lat] = transform([mapX, mapY], dataTileProjection, inputImageProjection)\n\n const x = (inputWidth * (lon + 180)) / 360\n let x1 = Math.floor(x)\n let x2 = Math.ceil(x)\n const xAlong = x - x1\n if (x1 < 0) {\n x1 += inputWidth\n }\n if (x2 >= inputWidth) {\n x2 -= inputWidth\n }\n\n const y = (inputHeight * (90 - lat)) / 180\n let y1 = Math.floor(y)\n let y2 = Math.ceil(y)\n const yAlong = y - y1\n if (y1 < 0) {\n y1 = 0\n }\n if (y2 >= inputHeight) {\n y2 = inputHeight - 1\n }\n\n const corners = [\n [x1, y1],\n [x2, y1],\n [x1, y2],\n [x2, y2]\n ]\n\n const pixels = corners.map(([cx, cy]) => {\n const inputOffset = (cy * 360 + cx) * inputBands\n return [inputData[inputOffset], inputData[inputOffset + 1]]\n })\n\n const interpolated = interpolatePixels(xAlong, yAlong, ...(pixels as [any, any, any, any]))\n const u = minU + (deltaU * interpolated[0]) / 255\n const v = minV + (deltaV * interpolated[1]) / 255\n\n data[offset] = u\n data[offset + 1] = v\n offset += dataBands\n }\n }\n return data\n }\n})\n\nexport default wind\n"]}